PHP 优化对于 PHP 的优化主要是对 php.ini 中的相关主要参数进行合理调整和设置,以下我们就来看看 php.ini 中的一些对性能影响较大的参数应该如何设置。
# vi /etc/php.ini
(1) PHP 函数禁用找到:
disable_functions =
该选项可以设置哪些 PHP 函数是禁止使用的,PHP 中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些函数执行,当 PHP 程序出现漏洞时,损失是非常严重的!以下我们给出推荐的禁用函数设置:
disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
需注意:如果您的服务器中含有一些系统状态检测的 PHP 程序,则不要禁用 shell_exec,proc_open,proc_get_status 等函数。
(2) PHP 脚本执行时间找到:
max_execution_time = 30
该选项设定 PHP 程序的最大执行时间,如果一个 PHP 脚本被请求,且该 PHP 脚本在 max_execution_time 时间内没能执行完毕,则 PHP 不再继续执行,直接给客户端返回超时错误。没有特殊需要该选项可保持默认设置 30 秒,如果您的 PHP 脚本确实需要长执行时间则可以适当增大该时间设置。
(3) PHP 脚本处理内存占用找到:
memory_limit = 8M
该选项指定 PHP 脚本处理所能占用的最大内存,默认为 8MB,如果您的服务器内存为 1GB 以上,则该选项可以设置为 12MB 以获得更快的 PHP 脚本处理效率。
(4) PHP 全局函数声明找到:
register_globals = Off
网络上很多关于 PHP 设置的文章都推荐将该选项设置为 On,其实这是一种及其危险的设置方法,很可能引起严重的安全性问题。如果没有特殊的需要,强烈推荐保留默认设置!
(5) PHP 上传文件大小限制找到:
upload_max_filesize = 2M
该选项设定 PHP 所能允许最大上传文件大小,默认为 2MB。根据实际应用需求,可以适当增大该设置。
(6) Session 存储介质找到:
session.save_path
如果你的 PHP 程序使用 Session 对话,则可以将 Session 存储位置设置为 /dev/shm,/dev/shm 是 Linux 系统独有的 TMPFS 文件系统,是以内存为主要存储方式的文件系统,比 RAMDISK 更优秀,因为可以使用 DISKSWAP 作为补充,而且是系统自带的功能模块,不需要另行配置。想想看,从磁盘 IO 操作到内存操作,速度会快多少?只是需要注意,存储在 /dev/shm 的数据,在服务器重启后会全部丢失。不过这对于 Session 来说是无足轻重的。