11、19 PHP相关配置

Wesley13
• 阅读 552

查看PHP配置文件:
/usr/local/php/bin/php -i|grep -i "loaded configuration file" (查找到的php配置文件可能不准)
进入网站主页根目录下

11、19 PHP相关配置

创建文件phpinfo

11、19 PHP相关配置

11、19 PHP相关配置
复制源码包中的的配置文件到该目录下
cd /usr/local/src/php-7.1.6
cp php.ini-development /usr/local/php7/etc/php.ini
重新加载php配置文件
 /usr/local/apache2/bin/apachectl graceful
再刷新页面

11、19 PHP相关配置

在/usr/local/php7/etc/php.ini文件中进行配置
vim /usr/local/php7/etc/php.ini

PHP参数
1设定时区
 date.timezone
vim /usr/local/php7/etc/php.ini

11、19 PHP相关配置

2一些功能选项:
“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 ”
以上功能选项可以通过“disable_function”来限制,以达到提高网站安全性的目的:

11、19 PHP相关配置

3日志相关
display_errors=On/Off :设定是否显示错误原因,需要注意的是,此处设置为off(防止用户看到)后必须设置错误日志,设定保存路径,和错误日志级别,否则将无法查找错误原因 。
log_errors=On/Off 开启/关闭错误日志

11、19 PHP相关配置
不配置错误日志则,没有任何提示信息

“error_log=/tmp/” 设定错误日志的保存路径。如果定义好路径后无法生产日志,此时需要检查日志文件所在目录是否有写(w)权限

11、19 PHP相关配置
“error_reporting =” 设定错误日志级别,级别有:E_ ALL 、E_ NOTICE 、E_ STRICT 、~E_DEPRECATED(可以自由组合)。生产环境使用:E_ ALL & ~E_ NOTICE就可以。
官方说明:
E_ALL (Show all errors, warnings and notices including coding standards.)
E_ALL & ~E_NOTICE  (Show all errors, except for notices)
E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)
E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)

11、19 PHP相关配置

curl -A "a" -x127.0.0.1:80 http://111.com/index.php

11、19 PHP相关配置

生产错误日志

11、19 PHP相关配置

错误日志是由daemon用户生成,以httpd进程身份生成。
错误日志的读写,需要注意其所有者是否对文件目录有读写权限,且其用户身份是否正常可用,文件目录是否正确。
如:touch /tmp/php_errors.log ; chmod 777 /tmp/php_errors.log
cat /tmp/php_errors.log 查看错误日志信息

11、19 PHP相关配置
安全参数“open_basedir”
open_basedir, if set, limits all file operations to the defined directory
; and below.  This directive makes most sense if used in a per-directory
; or per-virtualhost web server configuration file.  
译:如果设置了open_basedir选项,将会把所有关于文件的操作限制在指定目录及其子目录。
将该指令设定在每个目录或者虚拟主机web服务器配置文件中非常重要。
说明: php.ini文件中的内容是针对所有虚拟主机进行的配置。
vim /usr/local/php7/etc/php.ini
设置open_basedir的目录

11、19 PHP相关配置

由于访问的目录没有在允许的范围内,出现错误提示

11、19 PHP相关配置

且cat /tmp/php_errors.log查看错误日志信息

11、19 PHP相关配置

提示open_basedir错误,且不是被允许的路径。
修改open_basedir目录后

11、19 PHP相关配置

访问正常

11、19 PHP相关配置
问题: 一台服务器运行着不止一台虚拟主机,所以在该文件下设置该选项并不合适。那么,该如何设定该配置呢?
办法: 分别在每个虚拟主机的配置文件进行相关设置。
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
php_admin_value open_basedir "/data/wwwroot/111.com:/tmp/"

11、19 PHP相关配置

说明: “php_admin_value”可以定义php.ini中的参数。使用该办法分别在每个虚拟主机设定相关的“open_basedir”即可!
在此开放“/tmp/”目录是为了使临时文件能正常写入。

11、19 PHP相关配置

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Stella981 Stella981
2年前
PHP导入导出EXCELl,CSV
PHP导入导出Excel,CSVHTML<formaction"{:U('Admin/Unit/importcsv')}"method"post"name"myform"id"myform"enctype"multipart/formdata"<input
Stella981 Stella981
2年前
Linux下php安装Redis扩展
1安装redis/usr/local/php/bin/phpize用phpize生成configure配置文件./configurewithphpconfig/usr/local/php/bin/phpconfig配置1make编译2makeinstall安装
Stella981 Stella981
2年前
Discuz X3.2源码解析 discuz_application类(转自百度)
1.discuz\_application在/source/class/discuz/discuz\_application.php中。!DiscuzX3.2源码解析discuz_application类(https://oscimg.oschina.net/oscnet/99b35d79caf70b7c74ad0838d6
Stella981 Stella981
2年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Wesley13 Wesley13
2年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
2年前
Ecshop用户中心的收藏列表里显示商品缩略图
1)、修改includes/lib\_clips.php文件将下面代码$sql'SELECTg.goods_id,g.goods_name,g.market_price,g.shop_priceASorg_price,'.修改为$sql'SELECTg.goods_id,g.goods_nam
Stella981 Stella981
2年前
PHP+jQuery寥寥几行代码轻松实现百度搜索那样的无刷新PJAX的分页列表和导航链接
!(https://static.oschina.net/uploads/space/2016/1208/171419_U00R_561214.png)PHP寥寥几行代码轻松实现百度搜索那样的分页列表和导航链接,某些语言的拥趸哭晕在厕所.<?php$apparray('db_prefix''
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这