码迷,mamicode.com
首页 > Web开发 > 详细

LAMP_PHP配置

时间:2016-07-25 17:55:47      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:

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

LAMP_PHP配置

标签:

原文地址:http://www.cnblogs.com/---wunian/p/5704423.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!