修改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/"
时间: 2024-10-25 03:03:47