我有一个带有centOS LAMP堆栈和多个域/ ips的vps。很久以前我在vps上有一个更熟悉SSH安装梨的人,我相信他为特定的用户/域配置了它,它已经不存在了,现在梨正在抛出错误。
不再存在的旧用户/域是“ljsspin”但是当我查看我的php.ini时,包含路径是:
include_path = ".:/usr/share/pear/:/usr/share/php:/var/www/ljsspin/data/pear/:"
我可以在ssh中执行pear命令,但我假设其中包含路径的最后一部分不再存在是导致错误的原因。
所以我的问题是如何将必要的/ data / pear文件安装到新目录中?我试过升级pear,这也产生了一个错误(无法解压缩结构文件)。
感谢任何指导。
我收到的确切错误消息:
Warning: include() [function.include]: open_basedir restriction in effect. File(/usr/share/pear/Mail.php) is not within the allowed path(s): (/var/www/steve/data:.) in /var/www/steve/data/www/newdomain.com/admin/dashboard/includes/pdf.php on line 3
Warning: include(/usr/share/pear/Mail.php) [function.include]: failed to open stream: Operation not permitted in /var/www/steve/data/www/newdomain.com/admin/dashboard/includes/pdf.php on line 3
Warning: include() [function.include]: Failed opening 'Mail.php' for inclusion (include_path='.:/usr/share/pear/:/usr/share/php:/var/www/ljsspin/data/pear/:') in /var/www/steve/data/www/newdomain.com/admin/dashboard/includes/pdf.php on line 3
答案 0 :(得分:1)
open_basedir有效限制错误消息表示您已为open_basedir PHP指令设置了值,因此不允许脚本从给定目录集外部读取文件,在你的情况下是这些:
/var/www/steve/data
.
由于PEAR包安装在其他目录中:
/usr/share/pear/
... PHP会阻止脚本读取它们,因为它已被指示执行。
如果您打算允许访问/usr/share/pear/
,您显然必须扩大限制。