PHP版本是5.3.29,这个程序之前在别的服务器上是正常的,现在移到新的服务器上,凡事有相对路径“./”和“../”的,都不能识别,提示类似下面的:
Warning: include_once(../../../../../Lang/zh-cn/calendar.php): failed to open stream: No such file or directory in D:\wwwroot\xingxing\web\admin\Tpl\default\Common\js\calendar\calendar.php on line 9
Warning: include_once(): Failed opening '../../../../../Lang/zh-cn/calendar.php' for inclusion (include_path='.;C:\php\pear') in D:\wwwroot\xingxing\web\admin\Tpl\default\Common\js\calendar\calendar.php on line 9
Notice: Undefined variable: _LANG in D:\wwwroot\xingxing\web\admin\Tpl\default\Common\js\calendar\calendar.php on line 11
Warning: Invalid argument supplied for foreach() in D:\wwwroot\xingxing\web\admin\Tpl\default\Common\js\calendar\calendar.php on line 11
文件路径是没有问题的,因为在别的服务器上都是正常的。如果把“./”改成dirname(__FILE__),程序也是可以正常运行的。但就是不能识别相对路径。请问这种情况是PHP哪里配置不对的吗,还是IIS配置不对。
因为程序是别人做的,而且很多地方都使用了相对路径,所以很难一个个文件去把路径都改成绝对路径。
下面网盘链接是phpinfo()的代码:
https://pan.baidu.com/s/1qWZHaKs
回复讨论(解决方案)
上面的代码输出的是:
C:\php
D:\wwwroot\xingxing\web
补充说明:在网站根目录下输出echo getcwd();显示出来的是:C:\php,而echo dirname(__FILE__);打印出来的是:D:\wwwroot\xingxing\web,而D:\wwwroot\xingxing\web
猜你就是用的 IIS
你需要在管理器的网站属性选项卡中 勾选 启用父路径
猜你就是用的 IIS
你需要在管理器的网站属性选项卡中 勾选 启用父路径
谢谢版主,以前IIS6的时候我记得有这个设置的,但是现在用的是IIS7,没找到这个选项,网上找到的也都是ASP设置父路径的方法
我是用的IIS7,win2008的,对服务器配置不懂,具体在哪里设置呢
http://www.softbar.com/blog/post/187.html
自己找找看吧,我几年前弄过。现在也记不清了
http://www.softbar.com/blog/post/187.html
自己找找看吧,我几年前弄过。现在也记不清了
这个是ASP的设置呢,PHP的没见有,还是IIS7就没有这玩意了
我猜你是权限不足的原因 比如 你PHP 网站绑定的是wwww/csdn 你来宾权限只到csdn 到不了wwww从而导致的
你试试给wwww 权限放大
你做了就知道!
问题解决了,你们两位说的问题都不是。我在网上下载一个同版本的PHP,然后把里面的php.ini替换了服务器上的php.ini就可以了。也不知道是php.ini里面哪里设置不对的。这个是阿里云的主机,PHP不知道是原来自带的还是后面装上的,反正因为这个设置就有各种各样的问题,连getcwd();都获取不到当前目录,获取到的是c:\php目录