标签:
php.ini配置文件详解
查找PHP配置文件在哪里
/usr/local/php/bin/php-i|head
Loaded Configuration File=>/usr/local/php/etc/php.ini
更改PHP配置文件
vim /usr/local/php/etc/php.ini(分号作为注释符号)
1.disable_functuons =phpinfo,eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,fsockopen #禁止一些高风险的函数
2.display_error = on /off #默认为off。
on的话默认会在浏览器界面显示错误信息,但这样不安全。
测试时可在php脚本/data/www/forum.php下随便加入一行
off的话出现错误时网站会成空白页。依然不安全。
查看错误的方法,F12或curl –x127.0.0.1:80 www…./forum.php
3.log_errors =on #打开php错误日志
4.定义error_log所在路径。
error_log =/usr/local/php/logs/php_errors.log
查看目录是否存在,创建并更改权限777。
5.配置日志级别
error_reporting = E_ALL &~E_NOTICE
cat/usr/local/php/logs/php_errors.log #查看错误日志
error_report级别
; 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
6.配置open_basedir
为了防止木马病毒,限定死主目录,只允许访问此目录,不能访问其他目录
vim /usr/local/php/etc/php.ini #编辑php配置文件
open_basedir = /data/www:/tmp
当限定多个站点,可以针对apache的虚拟主机去做限制。
这样做的优点就是可以区分不同的虚拟主机。
vim/usr/local/apache2/conf/extra/httpd-vhosts.conf
加入php_admin_value open_baserdir "/data/www/:/tmp/"
当apache和php 同时配置时apache享有优先权。
7.php扩展模块如何安装
/usr/local/php/bin/php –m查看加载的模块 静态+动态
编译动态共享模块
cd/usr/local/src/php-5.3.27/ext/
/usr/local/php/bin/php –m|grep –i curl #查看是否加载curl模块
cd curl
ls #查看是否有configure文件
usr/local/php/bin/phpize #为了生成confugure文件
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install
/usr/local/php/bin/php -i |grep extension_dir #查找extension_dir
extension_dir =>/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626 =>/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
sqlite3.extension_dir => no value => no value #extension_dir是存放拓展模块的
vim/usr/local/php/etc/php.ini
加入extension=curl.so
/usr/local/php/bin/php –m #查看,已经加载上了
查看动态加载的模块有哪些
grep‘^extension=‘ /usr/local/php/etc/php.ini
标签:
原文地址:http://www.cnblogs.com/---wunian/p/5704423.html