2

我最近使用 VestaCP 在 CentOS 7 上设置了我的 VPS,因为我听说了很多关于它的好消息。一切都很棒,只是我不能在上面运行 Laravel 项目。我已经遵循了一些关于如何在 VestaCP 上设置 Laravel 项目的教程,但它没有做任何事情。

我的文件夹的内容在 .public文件夹中public_html,其他所有内容都在 .private/laravel文件夹之外public_html。我编辑了 index.php 文件以包含bootstrap/autoloadbootstrap/app就像我在将项目上传到托管时总是做的那样,但这一次它根本不起作用,并向我抛出 HTTP ERROR 500。

我最初的想法是它必须是 Apache 权限,但这根本不起作用。如果有人可以帮助我,我将不胜感激。

4

1 回答 1

0

发生错误是因为 php 没有访问您的private/laravel目录的权限。您可以在登录中检查这一点/var/log/httpd/domains/yourdomain.com.error.log。如果日志消息显示,open_basedir restriction in effect那么您可以确认问题。

要解决此问题,您需要将private/laravel目录添加到 open_basedir 路径/home/username/conf/web/httpd.conf/home/username/conf/web/shttpd.conf.

  • 在该.conf文件中,找到与发生错误的域对应的列表。
  • 将您的路径附加到这一行php_admin_value open_basedir /home/username/web/yourdomain.com/public_html:/home/username/tmp
  • 附加路径后,该行将是这样的php_admin_value open_basedir /home/username/web/yourdomain.com/public_html:/home/username/tmp:/home/username/web/yourdomain.com/private/laravel
  • 保存并退出。
  • 现在重新启动您的 apache 服务器service httpd restart
于 2017-09-09T06:19:43.530 回答