开发者社区> 技术小阿哥> 正文

php相关配置

简介:
+关注继续查看

查看php配置文件位置
/usr/local/php/bin/php -i|grep -i "loaded configuration file" 
或者phpinfo();
但是有些情况下使用-i是不准的。
如果想找的更准。比如找11.com,那么可以在11.com的根目录下创建phpinfo()文件。浏览器访问它。查看配置文件

cp -r /usr/local/src/php-5.6.30/php.ini-production /usr/local/php/etc/php.ini
vi /usr/local/php/etc/php.ini //搜索disable_functions

date.timezone //定义时区
date.timezone =Asia/shanghai

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禁掉。因为有时候不小心写了一个phpinfo文件,上传上去被黑客发现。能够看到系统的目录。不安全
eval:一句话木马使用了该函数如果把这个函数禁了,即使上传了木马也没办法解析

日志相关:
error_log, log_errors, display_errors, error_reporting

display_errors = On //会把错误信息直接显示在浏览器上

(生产环境该参数改成Off,为了避免暴露信息)但是有一个问题,就是页面什么都不显示(白页)。那么还需要配置错误日志。
log_errors = On //表示错误日志打开状态
error_log = /tmp/php_errors.log //定义错误日志所在位置
还需要定义error_log的级别。如果级别很高的话,很严谨的话,只会记录一些比较严峻的错误,不太严峻的就不记录,比如警告等、所以放松些
error_reporting //定义日志的级别
生产环境使用
E_ALL & ~E_NOTICE (Show all errors, except for notices)

模拟:把phpinfo函数禁掉。
1.phpinfo放入disable_functions里
2.display_errors = Off
3.log_errors = On
4.error_log = /tmp/php_errors.log
5./usr/local/apache2.4/bin/apachectl -t && graceful
6.ll /tmp/
srwxrwxrwx. 1 mysql mysql 0 12月 11 18:39 mysql.sock
-rw-r--r--. 1 daemon daemon 290 12月 11 21:23 php_errors.log
7.cat /tmp/php_errors.log 
[11-Dec-2017 21:23:49 Asia/shanghai] PHP Warning: phpinfo() has been disabled for security reasons in /data/wwwroot/discuz2/lsx/1.php on line 2

php_errors.log的属主实际是httpd的属主daemon。因为这个日志是以daemon这个进程的身份创建的。当你定义了一个日志,但是日志始终没有生成,就要看一下定义的目录有没写权限,而且写文件的进程是这个进程。

为了保守起见,可以把这个文件创建好/tmp/php_errors.log,在授权777权限
grep error_log /usr/local/php/etc/php.ini
error_log = /tmp/php_errors.log
;error_log = syslog




本文转自 虾米的春天 51CTO博客,原文链接:http://blog.51cto.com/lsxme/2054743,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
PHP:php-fpm进程数控制配置
PHP:php-fpm进程数控制配置
22 0
PHP为什么需要设置session_set_cookie_params()函数来配置session的cookie参数?
PHP为什么需要设置session_set_cookie_params()函数来配置session的cookie参数?
34 0
QGS
(openEuler21.03-Centos7-x86)yum安装php+nginx—配置nginx解析php
记(openEuler21.03-Centos7-x86)yum安装php+nginx—配置nginx解析php
265 0
ECS配置mySQL\MariaDB和PHP环境
ECS配置mySQL\MariaDB和PHP环境
56 0
提升PHP安全:8个必须修改的PHP默认配置
提升PHP安全:8个必须修改的PHP默认配置
61 0
在Mac系统下配置PHP运行环境
在Mac系统下配置PHP运行环境
80 0
配置 PHP 的 Session 存储到 Redis
配置 PHP 的 Session 存储到 Redis
94 0
centos 下配置 nginx 支持 php
centos 下配置 nginx 支持 php
131 0
PHP+Apache如何监控多个端口和配置多站点
PHP+Apache如何监控多个端口和配置多站点
88 0
php实现根据概率配置随机抽奖
php实现根据概率配置随机抽奖
140 0
Php的编译与配置| 学习笔记
快速学习Php的编译与配置。
59 0
PHP:ThinkPHP5.0下载安装和各种配置
PHP:ThinkPHP5.0下载安装和各种配置
461 0
PHP:ThinkPHP5.0配置nginx
PHP:ThinkPHP5.0配置nginx
45 0
mac环境composer新建php的symfony项目并用nginx配置
mac环境composer新建php的symfony项目并用nginx配置
86 0
sublime配置php脚本解释器
sublime配置php脚本解释器
48 0
+关注
技术小阿哥
文章
问答
视频
相关电子书
更多
PHP 2017.北京 全球开发者大会——高可用的PHP
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多