php - 错误的 __DIR__ 魔术常量值

标签 php laravel nginx composer-php

我一直在尝试安装一个使用 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/

相关文章:

php拼写检查迭代优化

PHP predis 连接到 Redis Sentinel

php - Laravel - 针对数据库中的日期范围的 PHP/MySQL 日期范围过滤器

php - 我应该在 Laravel 中哪里放置复杂查询?

php - Laravel 空白白屏 - Centos 7、NGINX 和 PHP7.1

php - 在 Magento 中添加自定义折扣订单总额不会改变销售税

php - 在维护 View 页面下显示站点,了解laravel应用程序中的所有错误/异常

php - Laravel:文件上传不起作用

Nginx:响应处理和带缓存的反向代理

ruby-on-rails - 如何在 Firefox 中显示 Font Awesome 图标?