LAMP中php配置
内容概要:
一. php配置
1. 配置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,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close
这些是php中不安全的函数,一般情况下是禁用,使之disable
2. 配置error_log,error_log经常用于分析页面白页(500,没有任何显示,可能是语法问题)
display_errors= Off
log_errors= On
error_log=/path/to/logfile
error_reporting = E_ALL | E_STRICT
注意:display_errors 一般情况是Off ,如果是打开On,报错日志(包括那个哪个目录下的php源码存在)都回显示在浏览器中,这样很不安全。Off之后
可以定义错误日志log_errors = On ,在服务器上然后定义错误日志路径及日志错误日志级别。(错误日志有时无法写入,记得把日志权限改为apache的damon用户,让其有写权限)
3.错误日志级别:
; 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
3. 配置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 目录用来限制对定义的文件进行操作,他可以放在php的配置文件中,也可以放在虚拟主机配置文件中。
一般用于限制虚拟主机,使虚拟主机与虚拟之间彼此独立,这样更安全。
php.ini: open_basedir = /dir1/:/dir2
httpd.conf: php_admin_value open_basedir "/dir1/:/dir2/" #
错误日志:
限制目录open_basedir= /data/1 存在错误,可能不在
LAMP中php配置的更多相关文章
- lamp 中基本配置常识
// apache// 禁止访问目录// 开启 url重写// 重写定义错误页面// 日志分页// 增加并发连接数// 设置连接连接的时间 // threadsPerChild // 每个进程的线程数 ...
- windows下配置lamp环境(3)---配置PHP5.4
下面配置php Php文件夹里有两个php.ini-*文件,随便修改一个,去掉后缀,变成php.ini (如图) 打开php.ini ,添加php扩展目录723行左右(其实放哪都无所谓,只不过php. ...
- windows下配置lamp环境(2)---配置Apache服务器2.2.25
配置Apache 配置Apache时,先要找到安装目录中的主配置文httpd.conf,使用文本编辑器打开,最好不要使用windows自带的编辑器,可以使用NotePad++, vim,或者subli ...
- linux下lamp.sh一键配置lamp环境流程
linux下lamp.sh一键配置lamp环境流程 一.总结 一句话总结: 2.将网站从github上clone到/data/www/网站域名/ 3.更改网站目录权限:chown -R apache: ...
- Linux在fstab中因配置错误导致服务器主机无法重启的问题应该如何解决
fstab中配置错误导致系统无法启动的恢复方案 1制造错误的案例发生,在/etc/fstab中配置如下内容 结尾的倒数第一个为1表示进行磁盘检查,为0表示不进行磁盘检查,倒数第二个为0表示不备份,为1 ...
- Eclipse中安装配置Tomcat
Eclipse(4.4.x及以上)中安装配置Tomcat 以下配置说明全部针对免安装版本 基于tomcat的安装目录和运行目录是可以不同的,本文都会进行说明 首先简单介绍一下tomcat的目录结构,一 ...
- Hadoop在eclipse中的配置
在安装完linux下的hadoop框架,实现完所现有的wordCount程序,能够完美输出结果之后,我们开始来搭建在window下的eclipse的环境,进行相关程序的编写. 在网上有很多未编译版本, ...
- Tesseract API在VS 2013中的配置以及调用
[Tesseract]Tesseract API在VS 2013中的配置以及调用 时间:2016-05-31 20:35:19 阅读:127 评论:0 收藏:0 ...
- Mybatis中SqlMapper配置的扩展与应用(2)
三.子表删除兼容问题 这个问题,使用SQL配置函数不太好处理,而且就算使用SQL配置函数,也不够直观,有点自动生成SQL的意味,太Hibernate了(不过要是可以兼收Hibernate和Mybati ...
随机推荐
- 【bzoj3585/bzoj3339】mex/Rmq Problem 莫队算法+分块
原文地址:http://www.cnblogs.com/GXZlegend/p/6805283.html 题目描述 有一个长度为n的数组{a1,a2,...,an}.m次询问,每次询问一个区间内最小没 ...
- 【bzoj2401】陶陶的难题I “高精度”+欧拉函数+线性筛
题目描述 求 输入 第一行包含一个正整数T,表示有T组测试数据.接下来T<=10^5行,每行给出一个正整数N,N<=10^6. 输出 包含T行,依次给出对应的答案. 样例输入 7 1 10 ...
- LOJ #124. 除数函数求和 1
题目描述 $\sigma_k(n) = \sum_{d | n} d ^ k$ 求 $\sum_{i=1}^n\sigma_k(i)$ 的值对 109 取模的结果. 输入格式 第一行两个正整数 n, ...
- 《c程序设计语言》读书笔记-3.5-按要求进制位数字转字符串
#include <io.h> #include <stdio.h> #include <string.h> #include <stdlib.h> # ...
- query的list()和iterate()区别 面试题
query的list()和iterate()区别 1.返回的类型不一样,list返回List,iterate返回iterator 2.查询策略不同. 获取数据的方式不一样,list会直接查询数据库,i ...
- 转一下网上找来的tortoise git不用每次都输入邮箱和密码的方法。备查看
每次git clone 和push 都要输入用户名和密码.虽然安全,但在本机上每次都输有些麻烦,如何记住用户名和密码呢? 当你配置好git后,在C:\Documents and Settings\Ad ...
- 杭电oj2047-2049、2051-2053、2056、2058
2047 阿牛的EOF牛肉串 #include<stdio.h> int main(){ int n,i; _int64 s[]; while(~scanf("%d" ...
- session和xsrf
1.pip install pycket 2.pip install redis 防止xsrf攻击只需在模板form标签加入: {% module xsrf_form_html() %} <!D ...
- lambda calculus
;;;lambda calculus ;;;booleanstrue = \x.\y.xfalse = \x.\y.yif = \v.\t.\f. v t f ;;;exif true M N = M ...
- ANDROID开发笔记(二)
动机: 开发的一个背单词的软件. 不会实现划屏的特性. 方法: 第一步尝试: 在MainActivity中, 增加以下代码后, 如果在视图的空白处点击时, 文本框中的时间就会发生改变. @Overri ...