zoukankan      html  css  js  c++  java
  • nginx 中 PHP 调用PEAR.php遇到的问题

    公司有个老项目,写了很多年了,是在apache 上面跑的,无意间,我想让它跑到nginx上,结果遇到了PEAR.php的问题,先安装pear

    基本安富有就是

    wget http://pear.php.net/go-pear.phar
    php go-pear.phar

    我php版本是5.4的,先禁用disable_functions 这个要不然安装不成功

    安装上了以后,就调报是报了这个错

    phpinfo() 查看到是这个文件
    Loaded Configuration File /usr/local/php/etc/php.ini
    查看php.ini的值是
    -------------------------------------------------------------------------------
    ; 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. This directive is
    ; *NOT* affected by whether Safe Mode is turned On or Off.
    ; http://php.net/open-basedi
    open_basedir ="./:/usr/local/php/lib/php/"#这个是我自己设置的
    ---------------------------------------------------------------------------------------------
    [root@localhost ~]# ll /usr/local/php/lib/php/
    total 84
    drwxr-xr-x  2 root root    20 Aug 12 14:41 Archive
    drwxr-xr-x  2 root root  4096 Jun 12 16:22 build
    drwxr-xr-x  2 root root    23 Aug 12 14:41 Console
    drwxr-xr-x  5 root root    60 Aug 12 15:16 data
    drwxr-xr-x  9 root root   124 Aug 12 15:16 doc
    drwxr-xr-x  3 root root    38 Jun 12 16:29 extensions
    drwxr-xr-x  2 root root     6 Aug 12 14:34 htdocs
    drwxr-xr-x  3 root root    40 Aug 12 15:16 HTTP
    drwxr-xr-x  2 root root    21 Aug 12 15:16 Net
    drwxr-xr-x  2 root root    22 Aug 12 14:41 OS
    drwxr-xr-x 11 root root  4096 Aug 12 14:41 PEAR
    -rw-r--r--  1 root root 15188 Aug 12 14:41 pearcmd.php
    -rw-r--r--  1 root root 34864 Aug 12 14:41 PEAR.php
    -rw-r--r--  1 root root  1033 Aug 12 14:41 peclcmd.php
    drwxr-xr-x  3 root root    38 Aug 12 15:16 Services
    drwxr-xr-x  3 root root    34 Aug 12 14:41 Structures
    -rw-r--r--  1 root root 20292 Aug 12 14:41 System.php
    drwxr-xr-x  9 root root   139 Aug 12 15:16 test
    drwxr-xr-x  3 root root    48 Aug 12 15:16 Text
    drwxr-xr-x  2 root root    21 Aug 12 14:41 XML
    ---------------------------------------------------------------------------------------
    目录下面是有这个PEAR.php这个文件的
    -----------------------------------------------------------------------------------
    但是Nginx 报错了以下的错
    --------------------------------------------------------------------------------------
    2015/08/13 09:51:38 [error] 635#0: *17 FastCGI sent in stderr: "PHP message: PHP Warning:  require_once(): open_basedir restriction in effect. File(/usr/local/php/lib/php/PEAR.php) is not within the allowed path(s): (/home/wwwroot/editor.com:/tmp/:/proc/) in /home/wwwroot/editor.com/Mail.php on line 46
    PHP message: PHP Warning:  require_once(/usr/local/php/lib/php/PEAR.php): failed to open stream: Operation not permitted in /home/wwwroot/editor.com/Mail.php on line 46
    PHP message: PHP Fatal error:  require_once(): Failed opening required 'PEAR.php' (include_path='.:/usr/local/php/lib/php') in /home/wwwroot/editor.com/Mail.php on line 46" while reading response header from upstream, client: 127.0.0.1

    ------------------------------------------------

    各种尝试还是报

    2015/08/13 10:18:20 [error] 4110#0: *1 FastCGI sent in stderr: "PHP message: PHP Warning:  require_once(): open_basedir restriction in effect. File(/usr/local/php/lib/php/PEAR.php) is not within the allowed path(s): (/home/wwwroot/editor.com:/tmp/:/proc/) in /home/wwwroot/editor.com/Mail.php on line 46
    PHP message: PHP Warning:  require_once(/usr/local/php/lib/php/PEAR.php): failed to open stream: Operation not permitted in /home/wwwroot/editor.com/Mail.php on line 46
    PHP message: PHP Fatal error:  require_once(): Failed opening required 'PEAR.php' (include_path='.:/php/includes:/usr/local/php/lib/php/') in /home/wwwroot/editor.com/Mail.php on line 46" while reading response header from upstream, client: 127.0.0.1, server: editor.com, request: "POST /appBaseInfoSaver.php HTTP/1.1", upstream: "fastcgi://unix:/tmp/php-cgi.sock:", host: "editor.com", referrer: "http://editor.com/appBaseInfo.php?t=new&tplt=capricorn"

    ==============================================================================

    最后用了这么一招

     fastcgi_param PHP_VALUE open_basedir="open_basedir=$document_root:/usr/local/php/lib/php/:/tmp/:/home/wwwroot/";

    整个世界又清静了.

  • 相关阅读:
    vue-fullcalendar插件
    iframe 父框架调用子框架的函数
    关于调试的一点感想
    hdfs 删除和新增节点
    hadoop yarn 实战错误汇总
    Ganglia 安装 No package 'ck' found
    storm on yarn(CDH5) 部署笔记
    spark on yarn 安装笔记
    storm on yarn安装时 提交到yarn失败 failed
    yarn storm spark
  • 原文地址:https://www.cnblogs.com/jackluo/p/4727563.html
Copyright © 2011-2022 走看看