【发布时间】:2012-06-24 09:09:24
【问题描述】:
我在使用 Hiphop 编译一个简单的 yii 应用时成功了(使用 cmd yiic webapp demo 生成)。
hphp test.php --keep-tempdir=1 --log=3 --include-path="../yii/framework"
编译处理没有任何错误或警告。我可以用 cmd 编译程序启动服务器:
sudo /tmp/hphp_8AcATe/program -m server -p 8008 -v "Server.SourceRoot=pwd" \ -v "Server.DefaultDocument=index.php" -v "Server.EnableStaticContentFromDisk=true" -c $HPHP_HOME/bin/mime.hdf
(此 cmd 引用自 here - 示例:编译 WordPress)
之后,我通过浏览器通过http://127.0.0.1:8008访问,然后遇到错误:
更新(我在下面的路径中有混淆并已修复)
HipHop 注意:尝试调用 /var/www/demo/../yii/framework/yii.php 但找不到文件。在第 12 行的 index.php 中
HipHop 致命错误:所需文件不存在:/var/www/demo/../yii/framework/yii.php in index.php on line 12
这里是第 12 行,index.php:
4. $yii=dirname(__FILE__).'/../yii/framework/yii.php';
...
12. require_once($yii);
更新
我尝试使用 realpath() 作为@prodigitalson 的提示,但在控制台中,程序仍然输出相同的内容:
所需文件不存在:第 12 行 index.php 中的 /var/www/demo/yii/framework/yii.php
为避免出现相对路径混淆的情况,我将编译后的程序文件夹复制到 /var/www(带有 yii lib 的根目录:/var/www/yii/framework),但没有任何变化:(
有没有人和我一样遇到这个错误?如何修复它们?感谢您的帮助!
【问题讨论】:
-
您可以发布 index.php 的第 12 行,以便我们查看您的要求声明吗?看起来路径解析不正确。
-
@prodigitalson 我已经用第 12 行的代码更新了我的问题。
-
那么文件
/var/www/demo/../yii/framework/yii.php存在吗? -
@zerkms 当然,我和 Yii 合作过一段时间了。
-
@Davuz:不要使用未解析的相对路径...将其包装在
realpath:$yii = realpath(dirname(__FILE__).'/../yii/framework/yii.php');
标签: php compiler-construction yii runtime-error hiphop