PHP 相关配置 apache 设置 目录访问限制 open_basedir
PHP 相关配置
- 查看php配置文件位置
/usr/local/php/bin/php -i|grep -i “loaded configuration file” #如果系统上装了多个PHP可能得到的内容不是实际的配置文件位置
可以使用phpinfo()函数进行查看
index.php:
<?php
phpinfo();
?>
然后浏览器访问该文件,查看"configuration file位置查看相关目录文件位置"
- 其他重要参数
php.ini:
date.timezone
disable_functions #禁用函数参数
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,phpinfo
error_log, log_errors, display_errors, error_reporting
open_basedir
httpd-vhosts.conf:
php_admin_value open_basedir "/data/www/test01:/tmp/"
- error_log=/tmp/php_errors.log #log位置
- logs_error=on #错误日志开启
- display_error=off #错误不显示在网页端(访问返回错误)
-
error_reporting=E_ALL #开启所有日志 生成环境一般使用E_ALL & -E E_NOTICE
-
open_basedir #设置访问目录,设定了以后,其他外的目录就没有权限访问,在php.ini中设置是对所有服务器上网站设定
如果需要各个虚拟网站都有不同的访问目录则需要在/usr/local/apache2.4/conf/extra/httpd_vhosts.conf 文件中进行设置
php_admin_value open_basedir “/data/www/test01:/tmp/“
注:错误日志级别
; E_ALL 所有错误和警告(除E_STRICT外)
; E_ERROR 致命的错误。脚本的执行被暂停。
; E_RECOVERABLE_ERROR 大多数的致命错误。
; E_WARNING 非致命的运行时错误,只是警告,脚本的执行不会停止。
; E_PARSE 编译时解析错误,解析错误应该只由分析器生成。
; E_NOTICE 脚本运行时产生的提醒(往往是我们写的脚本里面的一些bug,比如某个变量没有定义),这个错误不会导致任务中断。
; E_STRICT 脚本运行时产生的提醒信息,会包含一些php抛出的让我们要如何修改的建议信息。
; E_CORE_ERROR 在php启动后发生的致命性错误
; E_CORE_WARNING 在php启动后发生的非致命性错误,也就是警告信息
; E_COMPILE_ERROR php编译时产生的致命性错误
; E_COMPILE_WARNING php编译时产生的警告信息
; E_USER_ERROR 用户生成的错误
; E_USER_WARNING 用户生成的警告
; E_USER_NOTICE 用户生成的提醒
& 表示并且
~ 表示非
| 表示或者
比如: error_reporting = E_ALL & ~E_NOTICE 表示错误级别为E_ALL 并且除了E_NOTICE