在同一台服务器上运行Laravel和WordPress

时间:2016-08-10 22:36:12

标签: php wordpress apache laravel ubuntu

我在我的服务器的根目录上安装了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作为子文件夹,而不是这个问题中的情况。

2 个答案:

答案 0 :(得分:0)

您使用的是Apache还是Nginx?如果是Apache,则需要配置vhost文件以从子文件夹中提供Laravel。特别是,您需要配置在请求host.com/laravel URI时,应使用/home/host.com/laravel/public目录(基本上不同的根/本地位置)来提供它。
您还需要使用mod_rewrite重写您对来自上述位置的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/

答案 1 :(得分:0)

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

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

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