LAMP 2.8 php.ini配置文件详解

修改php配置文件,但有时候我们并不知道 php.ini 所在路径,这时候就需要通过

命令来查一查在哪里。

/usr/local/php/bin/php -i |head
看那一行 Loaded Configuration File -> /usr/local/php/etc/php.ini。如果这里为 None,那么就说明没有加载到具体的 php.ini。找到 php.ini 后,用 vim 打开它,发现很多行都是以;开头的,这个符号在 php.ini 中作为注释符号,也就是说只要是以;开头的行都是不起作用的。而php.ini 中常用的配置有如下:

先搜索 disable_functions

disable_functions的配置如下,php的禁用功能

eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

然后配置的是错误日志

打开配置文件

vim /usr/local/php/etc/php.ini 

修改

display_error=off
log_errors=on
error_log=/usr/local/php/logs/error.log

第一个是页面显示错误信息,

第二个是错误日志。

第三个是错误日志的路径

如果错误日志路径不存在就

mkdir /usr/local/php/logs/

因为错误日志是apache写的,所以授权777

chmod 777 /usr/local/php/logs/

配置日志的格式,日志的级别

搜索 error_reporting

找到error_reporting= E_ALL & ~E_DEPRECATED & ~E_STRICT

error_reporting = E_ALL & ~E_NOTICE

配置完成,重启apache

/usr/local/apache2/bin/apachectl graceful

错误信息会在

ls /usr/local/php/logs/php_errors.log

配置安全选项,限制文件目录

找到 open_basedir =

open_basedir = /data/www:/tmp

在apache里也可以配置

打开虚拟主机配置文件

vim /usr/local/apache2/conf/extra/httpd-vhosts.conf 

针对不通虚拟主机,指定目录

在虚拟主机配置里面添加一句

 php_admin_value open_basedir "/data/www/:/tmp/"