zoukankan      html  css  js  c++  java
  • 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/"  #

    错误日志:

    image

    限制目录open_basedir= /data/1   存在错误,可能不在

  • 相关阅读:
    使用SignTool对软件安装包进行数字签名(二)--进行数字签名
    使用SignTool对软件安装包进行数字签名(一)--制作证书
    三角形相关算法--求解三角形顶点坐标
    子网掩码与子网个数、主机地址个数的关系
    pgsql中的lateral使用小结
    Git中rebase失败了如何进行恢复
    灰度发布
    go 中的WaitGroup
    pgsql中json格式数组查询结果变成了字符串
    Go中的unsafe
  • 原文地址:https://www.cnblogs.com/the-study-of-linux/p/5231314.html
Copyright © 2011-2022 走看看