PHP的一些相关配置

作者:阿豪 分类:系统运维

查看php配置文件位置,最准确的办法是在站点创建php探针

# /usr/local/php/bin/php -i|grep -i "loaded configuration file"    

date.timezone = Asia/shanghai 定义时区

disable_functions   //限制一些php函数

disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec

,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc

_close,phpinfo

display_errors  访问时的错误信息,如果不允许访问,显示的就是白页

;   Default Value: On

;   Development Value: Off  两个版本还有其他,开启或关闭。

;   Production Value: Off      开启单个时,前面的分号 要去掉。

; http://php.net/display-errors

display_errors = On 这里关闭,将全部关闭。

error_log = /tmp/php_errors.log  //定义错误日志的位置。

测试:可以看到生成了php_error.log。它的属主和属组都是deamon,这个日志是以httpd这个进程的身份生成的。有时候定义了一个错误日志,但是错误日志一直没有生成,就要检查一下错误日志所在的目录有没有写权限。

error_reporting = E_ALL定义日志的级别

默认是E_ALL,全部记录。生产环境中是Show all errors, except for notices

open_basedir

作用:将网站限定在指定目录里,就算该站点被黑,黑客也只能在该目录下面有作为,而不能动其他的目录。如果服务器上只有一个站点,那么可以直接在php.ini中设置open_basedir参数。如果服务器上跑的站点比较多,那在php.ini设置就不合适了,因为php.ini中只能定义一次,也就是说所有站点都一起定义限定的目录,那这样就起不到隔离多个站点的目的。如何在php.ini中设置open_basedir:

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

open_basedir = /data/wwwroot/ahao1.com:/tmp 针对全部站点的。

# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf也可以在虚拟主机配置文件设置

php_admin_value open_basedir "/data/wwwroot/ahao1.com:/tmp/"

解析:php_admin_value:可以定义php.ini里面的一些参数,比如error_log等。后面跟参数,然后指定的目标路径。


PHP 

非特别申明,本博文章均系博主原创或整理加工。

转载请注明文章出处:https://www.ahaoyw.com/article/84.html

创作不易,觉得有用请打个赏吧。
扫一扫,加我为微信好友加我为微信好友