我一直在尝试安装一个使用 Laravel 框架构建的 Web 应用程序。该应用程序托管为 GIT 存储库。
这里详细描述了我的问题,以阐明我是如何面对它的。
我第一次在以下路径中克隆存储库:
/var/www/app.example.com/script/
然后创建一个指向其 public
目录的符号链接(symbolic link),以遵循我服务器的 nginx
路由约定:
ln -s /var/www/app.example.com/script/public /var/www/app.example.com/public_html
但我决定将所有内容从 script
目录移到上一层,这就是我的问题开始的地方。
我将 Laravel 安装移动到 /var/www/app.example.com/
并让 nginx 直接加载其 public
目录作为根路径。
现在的问题是,每次我尝试加载应用程序时,它都会尝试从它们之前的位置读取文件:
Warning: require(/var/www/app.example.com/script/public/../bootstrap/autoload.php): failed to open stream: No such file or directory in /var/www/app.example.com/public/index.php on line 21
Fatal error: require(): Failed opening required '/var/www/app.example.com/script/public/../bootstrap/autoload.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/app.example.com/public/index.php on line 21
注意事项:
我已经使用 composer 安装了所有依赖项
curl -sS https://getcomposer.org/installer | PHP
php composer.phar 安装我正在使用
nginx
作为我的网络服务器- 我尝试删除所有内容(包括
~/.composer
)并重新开始,但无济于事。 - 我什至试图将整个项目移动到一个新的根目录
- 看来问题出在
__DIR__
魔术常量上,因为它包含错误的路径 - 奇怪的是,如果我回显
__DIR__
,它会打印正确的路径,但在使用它的下一行中,它的旧路径不正确
I hope I have been clear enough in my description to avoid any confusion and possible down-votes.
最佳答案
所以我在这里可能完全错了,但是是否有一个配置文件可以保存它?或者 script
目录中是否还有可能导致此问题的内容?当 __DIR__
输出正确的值时,它也应该在其他代码中。
关于php - 错误的 __DIR__ 魔术常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31654069/