Tag: PHP
在服务器进行 PHP 设定, 最直接的方法是编辑 php.ini 档案, 如果是使用 mod_php 的情况下, 可以用 php_admin_value 或 php_admin_flag, 在 Apache 对个别目录或 VirtualHost 设定不同的 PHP 参数, 或者使用 .htaccess 设定更可以不用重新加载 httpd 修改 PHP 设定。 但如果是使用 PHP-FPM …
当网站的 CSS 及 Javascript (.css 及 .js) 作出修改后,这些更新可能不会立即呈现及访客,这是因为浏览器为了提高开启网站的速度,会将 .js 及 .css 档储存在快取内,下次进入网站时不会重新加载所致。 网站访客可以清除网站的快取然后重新加载,便会看到新内容。但网站管理员总不能要求每个访客这样做,需要在网页的层面解决。 一个简单的解法是在 HTML 的 Meta Tag 加入控制快取的指示,例如: 但这个方法很多时都不会长时间有效。 另一个较简单实用的方法是在档名后面加上一个 GET 变量,这个 GET 变量可以是日期时间,也可以是版本号,例如: 当下次修改 CSS 或 JS …
有一台原本使用 Apache 的 Web Server 换成 Nginx 后, 其中一个 PHP 的上传档案程式遇到错误, 原本以为是 PHP 的 max_execution_time 或 max_upload_filesize 设定太小出问题。 后来在 Nginx 的 Log 找到以下错误: client intended to send too large …
PHP-FPM 默认的 PM (process manager) 会设定为 “dynamic”, 除了 dynamic, 还有 static 及 ondemand, 以下是 PHP 官方对这些设定的解释: pm = dynamic – the number of child processes is set dynamically based …
在默认的情况下, HTTP 的 Header 会包含了 Web Server 及 PHP 的版本, 基于安全理由, 可以用以下方法隐藏 Apache, Nginx 及 PHP 的版本资讯。 Apache 开启 Apache 的 httpd.conf, CentOS 默认位置是 /etc/httpd/conf/httpd.conf: # vi /etc/httpd/conf/httpd.conf 找到 …
Apache 配置 PHP 一般会默认用 mod_php 的方法安装, 安装 Nginx 便会使用 PHP-FPM。但如果在 Apache 不想使用默认的 prefork 作为 MPM (通常基于效能因素), 想使用 worker 或 event, 便需要使用 PHP-FPM 的方法安装 PHP。 本文会示范在 CentOS 7 安装 Apache …
现在很多入门的 VPS 只有 1GB Ram, 如果在 1GB RAM 的 VPS 安装 Apache, PHP 及 MySQL / MariaDB, 为僻免出现 out of memory 的情况, 可以使用以下方法进行优化。 Apache 建议对 Apache MPM worker 进行设定: …
近几年的服务器都是使用 CentOS 默认的 PHP 版本, 而 CentOS 7 默认的 PHP 版本仍是 5.4, 而 PHP 7 对于性能提升也是相当明显的。 近期将本网的 PHP 版本升级到 PHP 7.2, 以下是用 RRDTool 监察的 Load Average 数据: 在四月至六月间是使用 4GB …
要开启或关闭 PHP 的错误讯息有几种方法, 分别是在 php.ini 内设定, httpd.conf 及 .htaccess 设定, 或者在 PHP 程式内设定, 以下是各种方法的设定方法。 1. php.ini 在 php.ini 一般默认路径在 /etc/php.ini, 在 php.ini 内找到 display_errors, 设定为 On 是开启错误信息, Off 是关闭输出: …
OPcache 在 PHP 5.5 (默认没有开启)开始内建在 PHP, 前身是 Zend Optimizer, PHP 5.2, 5.3 及 5.4 则要透过安装 PECL extension 安装。它的作将已经编译的 PHP Script 储存在内存, 当下次存取 PHP Script 时不用重新编译, 这样便可以提高 PHP 的效能。 以下是在 …