Php 如何在普通Apache上运行Laravel项目?
我有一个Laravel项目,可以用它运行Php 如何在普通Apache上运行Laravel项目?,php,apache,laravel,laravel-artisan,Php,Apache,Laravel,Laravel Artisan,我有一个Laravel项目,可以用它运行 php artisan serve 我正在D:\Users\Dims\Design\MyApplication目录中执行此命令。之后,我可以看到网站上,并可以浏览它,虽然速度慢 现在,我正在配置由apache提供服务的相同位置: <VirtualHost *:80> ServerAdmin webmaster@myapplication.app DocumentRoot "D:\Users\Dims\Design\MyApp
php artisan serve
我正在D:\Users\Dims\Design\MyApplication
目录中执行此命令。之后,我可以看到网站上,并可以浏览它,虽然速度慢
现在,我正在配置由apache提供服务的相同位置:
<VirtualHost *:80>
ServerAdmin webmaster@myapplication.app
DocumentRoot "D:\Users\Dims\Design\MyApplication\public"
ServerName myapplication.app
ErrorLog "logs/myapplication-error.log"
CustomLog "logs/myapplication-access.log" common
<Directory />
AllowOverride none
Require all granted
DirectoryIndex index.php
</Directory>
</VirtualHost>
对于Apache,我根本看不到主页,说403禁止。这可能是因为此目录没有index.php
那么,是否可以使用Apache为Laravel项目提供服务?设置Apache服务器主机文件,如下所示:
<VirtualHost *:80>
ServerAdmin user@email.com
DocumentRoot D:\Users\Dims\Design\MyApplication\public
ServerName exampledomain.com
ServerAlias www.exampledomain.com
ErrorLog "C:/some_dir/example.error.log"
CustomLog "C:/some_dir/example.access.log" combined
<Directory "D:\Users\Dims\Design\MyApplication\public">
Options -Indexes
DirectoryIndex index.php index.html
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
单击文件>保存以保存更改
我们在这里所做的是告诉windows,当我们尝试访问exampledomain.com或www.exampledomain.com时,不要试图通过internet查找服务器,而是将请求发送到本地计算机本身(127.0.0.1),这将反过来为您的laravel项目服务
您还可以在wikihow找到另一种方法->是的,使用Apache为Laravel应用程序提供服务是绝对可能的。要调试链接产生404错误的原因,您必须提供有关这些链接指向的URL的更多信息。打印url时,最好始终使用Laravel的
url()
、secure\u url()
或route()
帮助函数。还要确认Apache模块mod_rewrite
已启用()如果在配置virtualhost后,您仍然无法访问您的laravel应用程序,但它可以与artisan serve配合使用,请检查您的Apache php版本:
选中/etc/apache2/mods enabled,如果php模块低于laravel规范中要求的模块,则更新它。就我而言:
$ a2dismod php7.0
$ a2enmod php7.2
$ service apache2 reload
在以下位置找到解决方案:已禁用
mod\u rewrite
127.0.0.1 exampledomain.com www.exampledomain.com
$ a2dismod php7.0
$ a2enmod php7.2
$ service apache2 reload