【问题标题】:laravel php artisan serve command works but localhost url not working in ubuntu 18.10laravel php artisan serve 命令有效,但 localhost url 在 ubuntu 18.10 中不起作用
【发布时间】:2019-06-17 06:36:15
【问题描述】:
使用localhost/project/public/login url 的登录路径显示错误:
在此服务器上找不到请求的 URL /test/public/login。
Apache/2.4.34 (Ubuntu) 服务器在 localhost 端口 80
但是使用 php artisan serve 命令它工作得非常好。
可能出了什么问题?
【问题讨论】:
标签:
laravel
ubuntu
routes
command
serve
【解决方案1】:
这种情况下最常见的错误与无法在 apache 中执行 mod_rewrite 相关:
sudo a2enmod rewrite
systemctl restart apache2
【解决方案2】:
您的本地主机无法正常工作的原因有很多。
以下可能是原因之一:
1.确保 /etc/apache2/sites-available/your-conf.conf 文件中包含这些内容:
ServerName www.your-url.test
ServerAlias your-url.test
ServerAdmin webmaster@localhost
DocumentRoot /your-path/your-project/public
<Directory /your-path/your-project>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
-
问题可能与您的 PHP 版本有关。在我们的机器中,有两个php:
1. For CLI(command line interface)
2. For apache server
您的 laravel 应用程序可能需要更高或更低版本的 apache 服务器中的 php。
为了解决这个问题,要么将你在 apache 服务器中的 php 版本更新到你需要的版本,要么为你的项目设置 fpm。然后你的本地主机将开始工作。
-
您的 laravel 应用程序可能有错误。
检查使用命令:
sudo tail -f /var/log/apache2/error.log
点击此命令后,您将看到 laravel 应用程序抛出的错误。
但是由于您的 laravel 应用程序使用 serve 命令运行良好,因此您的问题很可能是因为 CLI 和 apache 服务器(前端)中的 PHP 版本不同。
因此,您应该设置 fpm 或升级或降级 apache 服务器 php 版本。
我遇到了同样的问题,我通过为我的项目设置 fpm 来解决它。
谢谢
【解决方案3】:
解决了:
操作系统:ubuntu 18.10
/etc/apache2/apache2.conf
将此行添加到此 apache2.conf 文件中:
<Directory /var/www/html/> AllowOverride all </Directory>