【问题标题】:Running Laravel and WordPress on Same Server在同一台服务器上运行 Laravel 和 WordPress
【发布时间】:2016-12-17 12:02:28
【问题描述】:

我在服务器的根目录上安装了 WordPress,并且我有一个使用官方 Laravel 安装程序安装 Laravel 的子文件夹。当我尝试使用 http://localhost/Laravel/ 访问时,我得到一个 Http 500 状态码

我尝试了以下方法:

sudo chown www-data:www-data  -R *
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \; 

我还将Laravel/config/app.php 设置为:

  • 'debug' => env('APP_DEBUG', true),

  • 'url' => env('APP_URL', 'http://localhost/Laravel

但我仍然收到500


我也见过this question,但就我而言,情况恰恰相反。我有 Wordpress 和 Laravel 作为子文件夹,而不是这个问题中的情况。

【问题讨论】:

  • 什么是文件夹结构? Laravel 公用文件夹及其其余部分在哪里。
  • 错误 500 的详细信息是什么?您应该在 Apache 错误日志中包含它

标签: php wordpress apache laravel ubuntu


【解决方案1】:

您使用的是 Apache 还是 Nginx ?如果是 Apache,您需要配置您的 vhost 文件以从子文件夹中服务 Laravel。特别是,您需要配置当请求host.com/laravel URI 时,应该使用/home/host.com/laravel/public 目录(基本上不同的根/主位置)来提供它。
您还需要使用mod_rewrite 将您的 URL 请求重写到从上述位置从index.php 提供的子文件夹(并且还美化 URL)。


上面应该可以正常工作,因为它在 Nginx 中以相同的方式完成,为此我提供了一个完整示例,说明其 conf 文件的外观

以下是我设置location 块的方法,它对我非常有效:

location ^~ /facebookschedule {  
alias /home/netcans/facebookschedule/public;  
try_files $uri $uri/ @foobar;  

location ~ \.php {  
fastcgi_pass unix:/var/run/php5-fpm.sock;  
fastcgi_split_path_info ^(.+\.php)(.*)$;  
include /etc/nginx/fastcgi_params;  
fastcgi_param SCRIPT_FILENAME /var/wwww/facebookschedule/public/index.php;  
}  
}  

location @foobar {  
rewrite /facebookschedule/(.*)$ /facebookschedule/index.php?/$1 last;  
}  

来源:http://shubhank.gaur.io/setup-laravel-5-in-subfolder-with-nginx/

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,运行这两个命令修复了它:

    sudo chmod 755 -R Laravel
    chmod -R o+w Laravel/storage
    

    这是假设 Laravel 是项目名称,否则只需将其更改为您为项目命名的任何名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-29
      • 2013-06-20
      • 2018-12-04
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      相关资源
      最近更新 更多