Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 包括未按预期工作的路径行为_Php - Fatal编程技术网

Php 包括未按预期工作的路径行为

Php 包括未按预期工作的路径行为,php,Php,我刚把一大堆网站移到一个新的VPS上,遇到了一个奇怪的问题 使用include_路径。它在旧服务器上运行良好,但是 不在纽约 我将尝试用一个简单的例子来解释它 在/home/kin/www/lib/Zend和/home/kin/www/ipb/_membadmin/Zend 有一个名为test1.php的文件,它只会回显它所在的文件夹 在/home/kin/www/ipb/_membadmin中有一个名为test.php的文件 它有一行 require_once 'Zend/test1.php'

我刚把一大堆网站移到一个新的VPS上,遇到了一个奇怪的问题 使用include_路径。它在旧服务器上运行良好,但是 不在纽约

我将尝试用一个简单的例子来解释它

/home/kin/www/lib/Zend
/home/kin/www/ipb/_membadmin/Zend
有一个名为
test1.php
的文件,它只会回显它所在的文件夹

/home/kin/www/ipb/_membadmin
中有一个名为
test.php的文件
它有一行

require_once 'Zend/test1.php';
当您运行它时,正如您所期望的,它会回显中
test1.php
中的行
/home/kin/www/ipb/_membadmin/Zend

如果你将
/home/kin/www/ipb/_membadmin/Zend
重命名为其他名称(因此 “include”语句找不到它),并再次运行
test.php
,它应该 (我想)回显
/home/kin/www/lib/Zend
中的文件,因为php包含路径 设置为包括
/home/kin/public_html/lib
(这
phpinfo.php
确认)。 ... 但事实并非如此

为什么不呢?如果存在
/home/kin/public\u html/lib
的包含路径,则 当然

应该指向
/home/kin/www/lib/Zend
。它在旧服务器上运行

我肯定错过了一些明显的东西,但我不知道是什么

有什么想法吗?
谢谢

在您刚才进行诊断之后,现在似乎很清楚有什么东西正在覆盖环境路径


代码中必须有一行调用set_include_路径的代码。是否有任何未检查的Zend特定代码正在运行?丢失的目录清楚地将罪犯描述为流氓
set\u include\u path()

您能告诉我们这两种情况下的
get\u include\u path()
的内容和输出感兴趣的内容吗。如果我在新服务器上运行get_include_path(),我会感兴趣。如果我在新服务器上运行get_include_path(),我会得到。:/usr/lib/php:/usr/local/lib/php:/home/public_html/lib,但如果我在同一位置运行phpinfo,“核心”部分报告会在旧服务器上包含路径为。:/usr/lib/php:/usr/local/lib/php:/home/kin/public_html/lib,get_include_path和phpinfo report/home/kin/public_html/lib都是get_include_path和phpinfo report/home/kin/public_html/lib,那么为什么新服务器缺少路径中的“kin”?我会检查一下-但是新服务器上的代码与旧服务器上的代码完全相同!这真是奇怪。我在分析配置问题方面不是很有经验。我必须承认我被难住了,唯一的其他途径是检查php.ini并查看是否设置正确,但我认为您已经这样做了。这是设置路径
ini_集(“include_path','/usr/lib/pear')的唯一其他方法除此之外,无论如何,我都没有想法的卡片了。至少我现在大致知道了问题所在,即使不是什么原因!
require_once 'Zend/test1.php';