【发布时间】:2015-06-02 17:43:20
【问题描述】:
在我的主目录中,我有一个 laravel 项目文件夹:
/home
/user
/project
/public <--------.
index.php |
/bootstrap |
autoload.php |
/config |
/public |
/src |
/http |
/project (softlink to here)
在project/public/index.php 我有这个:
require __DIR__.'/../bootstrap/autoload.php';
我将我的 apache 公用文件夹软链接到我的用户目录中的公用文件夹:
$ ln -s /home/user/project/public /srv/http/project
所以我应该可以打开localhost/project。但我收到 500 内部服务器错误。以下是来自 apache 的相关日志:
$ cat /var/log/httpd/error_log
[Tue Jun 02 2015] [:error] PHP Warning: require(/home/user/project/config/public/../bootstrap/autoload.php): failed to open stream: No such file or directory in /home/user/project/config/public/index.php on line 21, referer: http://localhost/project/
[Tue Jun 02 2015] [:error] PHP Fatal error: require(): Failed opening required '/home/user/project/config/public/../bootstrap/autoload.php' (include_path='/home/user/project/vendor/phpunit/php-text-template:/home/user/project/vendor/phpunit/php-timer:.:/usr/share/pear') in /home/user/project/config/public/index.php on line 21, referer: http://localhost/project/
日志表明服务器正在寻找/home/user/project/config/bootstrap/autoload.php。为什么呢?我没有链接到/home/user/project/config/public。我不知道这是 apache、php、链接还是文件系统的问题。
【问题讨论】:
-
您是否设置了
FollowSymLinks选项? -
@hoss 我的
httpd.conf包含Options Indexes FollowSymLinks,所以应该启用它。
标签: php apache unix laravel symlink