在没有 php artisan serve 的情况下运行 laravel 5 应用程序
Posted
技术标签:
【中文标题】在没有 php artisan serve 的情况下运行 laravel 5 应用程序【英文标题】:Run laravel 5 app without php artisan serve 【发布时间】:2016-11-25 01:42:08 【问题描述】:我在 laravel 5.2 中创建了小型博客应用程序。每当我使用 php artisan serve 运行它时,该应用程序就可以工作。 但是没有运行 artisan serve ,当我从公共文件夹访问它时,例如localhost/blog/public/addBlog 它给出了找不到错误页面。
我的 routes.php 有以下几行 Route::get('addBlog','BlogsController');
通过访问http://localhost:8000/addBlog,它可以与 php artisan serve 正常工作
【问题讨论】:
【参考方案1】:解决方案非常简单。 Laravel 期望你的公用文件夹是 webserver / url / domain 的根目录。
使用 serve 命令有效,因为 localhost:8000 是根目录。
使用较长的 url 不起作用,因为您的根是 localhost/blog 而不是 localhost。
一个相当简单的解决方案是创建一个虚拟主机,为了解释你如何做到这一点,我们需要知道你的本地主机上正在运行什么(xampp?wamp?)
不过,解决方案是虚拟主机指向 localhost/blog/public
更新 wamp 虚拟主机的示例
C:\Windows\System32\drivers\etc\hosts => 以管理员身份打开并添加
127.0.0.1 blog.dev
C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf
<VirtualHost *:80>
ServerName blog.dev
DocumentRoot "C:\wamp\www\blog\public"
ServerAlias blog.dev
</VirtualHost>
xampp基本一样,只是vhosts conf的路径不一样
进行更改后不要忘记重新启动 wamp/xampp。然后只需通过浏览器打开http://blog.dev 即可享受
【讨论】:
【参考方案2】:Laravel 期望该文件夹位于应用程序的根目录中,因此设置一个虚拟主机并更新您的主机文件以匹配。
【讨论】:
【参考方案3】:使用以下命令
sudo a2enmod rewrite
我已经尝试过 ubuntu,但我不确定它是否会在另一个操作系统中运行
【讨论】:
以上是关于在没有 php artisan serve 的情况下运行 laravel 5 应用程序的主要内容,如果未能解决你的问题,请参考以下文章
php artisan serve [ErrorException] laravel
Laravel:php artisan serve 无法启动
php artisan serve 找不到 autoload.php