laravel php artisan serve命令可以工作,但是localhost url在ubuntu 18.10中不起作用

时间:2019-01-23 16:01:02

标签: laravel ubuntu routes command serve

使用localhost/project/public/login网址登录路由显示错误:

  

在此服务器上找不到请求的URL / test / public / login。   位于本地主机端口80的Apache / 2.4.34(Ubuntu)服务器

但是使用php artisan serve命令它可以很好地工作。

怎么了?

4 个答案:

答案 0 :(得分:0)

已解决: 操作系统:ubuntu 18.10

/etc/apache2/apache2.conf

将此行添加到此apache2.conf文件中:

<Directory /var/www/html/> AllowOverride all </Directory>

答案 1 :(得分:0)

创建.env文件并运行:

php artisan key:generate

创建.env文件并生成密钥后,运行以下代码:

php artisan cache:clear 
php artisan config:clear

此后,如果遇到问题,可以检查/var/log/apache/error.log中的apache日志以获取有关错误的更多信息。如果mod_rewrite中存在错误,请执行以下操作:

a2enmod rewrite
systemctl restart apache2

答案 2 :(得分:0)

您的本地主机无法正常工作的原因很多。 以下可能是原因之一:

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>
  1. 您的PHP版本可能存在问题。在我们的机器中,有两个php:

     1. For CLI(command line interface)
     2. For apache server
    

    您的laravel应用程序可能需要apache服务器中更高或更低版本的php。 要修复该问题,可以将apache服务器中的php版本更新为所需的版本,或者为您的项目设置fpm。然后您的本地主机将开始工作。

  2. 您的laravel应用程序中可能存在错误。 要检查该use命令: 须藤尾巴-f /var/log/apache2/error.log

点击此命令后,您将看到laravel应用程序抛出的错误。

但是,由于您的laravel应用程序使用serve命令运行良好,因此您遇到的最可能的问题是由于CLI和apache服务器(前端)中的PHP版本不同。 因此,您应该设置fpm或升级或降级apache服务器php版本。

我遇到了同样的问题,并通过为我的项目设置fpm来解决它。 谢谢

答案 3 :(得分:0)

此情况中最常见的错误与无法在Apache中执行mod_rewrite做到这一点有关:

sudo a2enmod rewrite
systemctl restart apache2