php pear.php 问题
小弟机器上面调了Pear.php但是访问的时候提示没有权限,这个文件/usr/local/php/lib/php/PEAR.php 是存在的,我用的是nginx +php-fpm 的环境,网上有说在php.ini 中设置
open_basedir ="./:/usr/local/php/lib/php/"
这个,还是不行
PHP Version 5.4.41
下面是报错,
2015/08/12 16:05:14 [error] 4786#0: *5 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: 1
回复讨论(解决方案)
你看看 open_basedir 的值
当 open_basedir 非空的情况下,php 只能访问 open_basedir 指定的目录
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,
-------------------------------------------------------------------------------------------------------------------------------
版本主你看看这个是什么问题?
不要设置 open_basedir
;open_basedir ="./:/usr/local/php/lib/php/"#这个是我自己设置的
pear 的路径要加在 include_path 中
按照版主的指示
---------------------------
; UNIX: "/path1:/path2"
include_path = ".:/php/includes:/usr/local/php/lib/php/"
;open_basedir ="./:/usr/local/php/lib/php/" #我试了一下开启也不行
------------------------------------
重启了php-fpm 和nginx
结果还是报了这个错
-----------------------------------------------
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"
版本主你好,我这边 把问题解决了
最终是在nginx 里面加一加这个
fastcgi_param PHP_VALUE open_basedir="open_basedir=$document_root:/usr/local/php/lib/php/:/tmp/:/home/wwwroot/";

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

PHP客户端URL(curl)扩展是开发人员的强大工具,可以与远程服务器和REST API无缝交互。通过利用Libcurl(备受尊敬的多协议文件传输库),PHP curl促进了有效的执行

您是否想为客户最紧迫的问题提供实时的即时解决方案? 实时聊天使您可以与客户进行实时对话,并立即解决他们的问题。它允许您为您的自定义提供更快的服务

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...
