我正在努力将一个Laravel应用程序部署到bluehost服务器,我遇到了一些麻烦。
目前,我将所有Laravel文件上传到服务器的根目录,然后将“public”文件夹的内容上传到“public_html”文件夹。从这里我打开了“bootstrap / paths.php”文件并将公共路径更改为
'public' => __DIR__.'/../public_html',
在此之后,我仍然无法显示内容。我错过了什么吗?看起来bluehost正在运行PHP 5.4.24。
对此有任何帮助将不胜感激。
谢谢!
编辑:错误日志显示
[09-Apr-2014 09:04:02] PHP致命错误:require()[function.require]:无法打开所需的“ DIR /../ bootstrap / autoload.php”第21行/home1/regmuel/public_html/index.php中的(include_path ='。:/ usr / lib64 / php:/ usr / share / pear')
任何人都可以帮我解决这个错误。我可以清楚地看到问题所在,我只是不确定如何修复它。
答案 0 :(得分:0)
看起来__DIR__
没有被解析,你确定你的主机没有运行PHP 5.2。*如果你在主机上运行phpinfo()
它给出了什么版本?
__DIR__
仅可从PHP 5.3.0开始提供
答案 1 :(得分:0)
RMcLeod的答案是完美的,只是想添加一些我遇到的主机(特别是Bluehost)。即使在服务器上运行的PHP版本 5.4.40 (通过public class StringComparatorWithNulls implements Comparator<String> {
@Override
public int compareTo(String a, String b) {
if (null == a) {
return null == b ? 0 : -1;
} else if (null == b) {
return 1;
} else {
return a.compareTo(b);
}
}
}
终端使用php -v找到)之后,我遇到了同样的问题解释我的SSH
并且无法识别 DIR 常量的旧版PHP。
我不得不添加一行
index.php
到AddHandler application/x-httpd-php54s .php
文件的顶部,该文件与我的.htaccess
仅仅是为了上下文,我试图在bluehost上设置我的laravel 4.2应用程序,它在很大程度上依赖于这个常量。