【发布时间】:2011-08-10 15:35:25
【问题描述】:
我有一个问题,服务器上的 include() 函数不想工作,我不知道为什么?
我有:
if (file_exists('/home/p002/htdocs/Project2/library/IntelliSMS/SendScripts/IntelliSMS.php')) {
echo "1 works";
} else {
echo "The file 1 does not exist";
}
if(include "$_SERVER[DOCUMENT_ROOT]/Project2/library/IntelliSMS/SendScripts/IntelliSMS.php" == 'OK')
{
echo 'INCLUDE 1 works';
}
else
{
echo 'Step 1 fail';
}
if(include '/home/p002/htdocs/Project2/library/IntelliSMS/SendScripts/IntelliSMS.php' == 'OK')
{
echo 'INCLUDE 2 works';
}
else
{
echo 'Step 2 fail';
}
返回:1 works Step 1 fail Step 2 fail
我不知道如何强迫它工作。帮助
我使用 zend 框架,这个文件在库中(与 zend -libraries - 目录平行,但它不想在没有包含目录的情况下工作:/
当我添加时对我来说真的很奇怪:
include ("/home/p002/htdocs/Project2/library/IntelliSMS/SendScripts/IntelliSMS.php");
这是正确的路径,我只有空白页!但是当我添加时:
include ("/homedddd/p002/htdocs/Project2/library/IntelliSMS/SendScripts/IntelliSMS.php");
这是错误的路径页面不是空白的,看起来工作正常。这意味着这个 IntelliSMS 库有问题,它不适用于我的服务器,但我不知道为什么?可能是服务器阻止发送短信之类的?你有什么主意吗?这个库来自http://intellisms.co.uk/sms-gateway/php-sdk/ 也许它需要 OpenSSL 扩展模块有问题?我应该怎么做才能开始工作?
【问题讨论】:
-
只用
include('/home/…'); -
在您尝试我的第一个建议但没有成功后,我更新了我的答案。也许这是一个权限问题。您(服务器)是否对您要包含的文件具有读取权限?
-
脚本
IntelliSMS.php返回什么?也就是说,它是退出return语句(它应该供您使用)还是echo某事(这对于您的使用来说是不够的)?
标签: php apache zend-framework include-path