LAMP里php.ini配置文件详解

路径:/usr/local/php/etc/php.ini

php用“;”作为“注释”符号,shell用“#”作为“注释”符号;

编辑php.ini

[[email protected] ~]# vim /usr/local/php/etc/php.ini

1. 查询/disable_functions 设置禁用函数

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

这些函数都是高风险函数,为了安全,需要禁止这些函数。

2. 错误日志相关配置

查询/display_error

display_error=off

默认是off,若改成on,会显示当前浏览器错误,同时也会造成信息泄漏,影响安全性。

3. 查询 /log_errors

log_errors =on

4. 查询 /error_log

创建绝对路径

[[email protected] ~]# mkdir /usr/local/php/logs

授予权限(生成错误日志的用户是apache,所以要用777权限,使他可写)

[[email protected] ~]# chmod 777 /usr/local/php/logs

编辑php.ini,去掉语句前面的;号

把error_log=php_error.log改成error_log=/usr/local/php/logs/php_error.log的“绝对路径”。

5. 配置日志级别

查询 /error_reporting

error_reporting =E_ALL & ~E_NOTICE   (用这两种级别)

保存退出

:wq

[[email protected] ~]# apachectl -t

Syntax OK

[[email protected] ~]# apachectl restart

这就是如何去打开错误日志,而不用暴露错误信息的配置方法,有助于排查问题。

查看错误信息

如果发现有网页浏览错误

[[email protected] ~]# ls /usr/local/php/logs/

php_error.log

[[email protected] ~]# cat /usr/local/php/logs/php_error.log

这样就可以查看错误信息了。

6. 查询/open_basedir

编辑php.ini

找到;open_basedir=  去掉;号,改成如下路径

open_basedir=/data/www:/tmp

这是个安全选项,针对单一主机、网站、域名,把访问的权限限定在指定目录下,其他目录没有访问权限,所以这个open_basedir一定要限定在网站程序所在的目录下。

[[email protected] ~]# apachectl -t

Syntax OK

[[email protected] ~]# apachectl restart

生效。

扩展延伸学习:

针对多个主机,多个网站,多个域名,要多配置几个open_basedir的限制,如果用php.ini去编辑,只能限定配置一句;要是限制多个,我们可以针对apache的“虚拟主机配置文件”去做限制,使每一个虚拟主机一个open_basedir,我们把他们分割开,每一个站点,每一个虚拟机,每一个域名公用一个open_basedir。

配置如下:

[[email protected] ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

写入:

php_admin_value open_basedir "/data/www:/tmp"

:wq

现在我们就不需要php.ini里的open_basedir配置,用;注释掉

[[email protected] ~]# apachectl -t

Syntax OK

[[email protected] ~]# apachectl restart

生效,这样做的好处是能够区分不同的虚拟机。

时间: 2024-10-12 21:14:37

LAMP里php.ini配置文件详解的相关文章

8_Php.ini 配置文件详解

Php.ini 配置文件详解(配置php错误日志) 第一步禁用一些高风险函数 & 打开错误日志 [[email protected] etc]# vim /usr/local/php/etc/php.ini disable_functions = eval,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,p

LAMP 2.8 php.ini配置文件详解

修改php配置文件,但有时候我们并不知道 php.ini 所在路径,这时候就需要通过命令来查一查在哪里. /usr/local/php/bin/php -i |head 看那一行 Loaded Configuration File -> /usr/local/php/etc/php.ini.如果这里为 None,那么就说明没有加载到具体的 php.ini.找到 php.ini 后,用 vim 打开它,发现很多行都是以;开头的,这个符号在 php.ini 中作为注释符号,也就是说只要是以;开头的行

php.ini配置文件详解

查找 php.ini路径: # /usr/local/php/bin/php -i |head 看那一行Loaded Configuration File => /usr/local/php/etc/php.ini.如果这里为None,那么就说明没有加载到具体的php.ini.找到php.ini之后,用vim打开它,发现很多行都是以:开头的,这个符号在php.ini中作为注释符号,也就是说只要是以:开头的行都是不起作用的.而php.ini中常用的配置如下: (1)配置disable_functi

LAMP--php.ini 配置文件详解

在/usr/local/php/etc/目录下面有个 php.ini 文件,是之前编译安装php时拷贝进去的.有的时候我们并不知道 php.ini 所在路径,这时候就需要通过命令来查一查在哪儿. [[email protected] ~]# /usr/local/php/bin/php -i |head phpinfo() PHP Version => 5.6.10 System => Linux localhost 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 2

php.ini配置文件详解(为了安全,禁止一些高风险的函数)

配置 disable_function 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,syslo

my.ini配置详解

Mysql my.ini 配置文件详解 #BEGIN CONFIG INFO #DESCR: 4GB RAM, 只使用InnoDB, ACID, 少量的连接, 队列负载大 #TYPE: SYSTEM #END CONFIG INFO # # 此mysql配置文件例子针对4G内存 # 主要使用INNODB #处理复杂队列并且连接数量较少的mysql服务器 # # 将此文件复制到/etc/my.cnf 作为全局设置, # mysql-data-dir/my.cnf 作为服务器指定设置 # (@[em

MySQL配置文件mysql.ini参数详解、MySQL性能优化

MySQL配置文件mysql.ini参数详解.MySQL性能优化 my.ini(Linux系统下是my.cnf),当mysql服务器启动时它会读取这个文件,设置相关的运行环境参数. my.ini分为两块:Client Section和Server Section.   Client Section用来配置MySQL客户端参数.   要查看配置参数可以用下面的命令: show variables like '%innodb%'; # 查看innodb相关配置参数 show status like

LAMP(php动态扩展模块,httpd的rewrite,php错误日志,php.ini配置详解)

一.php动态扩展模块 比如我们需要用到php一个模块,恰好他没有这个模块.我们需要编一个.so出来 ?/usr/local/php/bin/php -m //查看模块 ? 下面安装一个redis的模块 ? cd /usr/local/src/ ? wget https://codeload.github.com/phpredis/phpredis/zip/develop ? mv develop phpredis-develop.zip ? unzip phpredis-develop.zip

LAMP架构(nginx安装,默认虚拟主机,用户认证,域名重定向,nginx配置文件详解)

一.安装nginx [[email protected] conf]# wget http://nginx.org/download/nginx-1.8.0.tar.gz [[email protected] conf]# tar zxvf nginx-1.8.0.tar.gz [[email protected] conf]# cd nginx-1.8.0 [[email protected] conf]# ./configure --prefix=/usr/local/nginx [[ema