当前位置: 首页 > 知识库问答 >
问题:

如何在正常的Apache上运行Laravel项目?

谈炳
2023-03-14

我有Laravel项目,可以运行它

php artisan serve

我正在D:\Users\Dims\Design\MyApplication目录中执行此命令。之后,我可以看到网站上http://localhost:8000虽然速度很慢,但可以导航。

现在我正在配置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>

不是,我将应用程序指向的不是项目的根目录,而是public目录。这使我能够打开该网站的主页,但单击任何链接都会导致错误404。

如果我发球

DocumentRoot "D:\Users\Dims\Design\MyApplication"

对于Apache,我根本看不到主页,说403禁止。这可能是因为此目录没有索引。php

那么,有可能用Apache为Laravel项目提供服务吗?

共有3个答案

麹凯捷
2023-03-14

如果在配置virtualhost后,您仍然无法访问您的laravel应用程序,但它可以与artisan serve配合使用,请检查您的apache php版本:

检查 /etc/apache2/mods-enabled,如果php模块低于laravel规范中要求的,则更新它。在我的情况下:

$ a2dismod php7.0
$ a2enmod php7.2
$ service apache2 reload

找到的解决方案:https://laracasts.com/discuss/channels/laravel/unexpected-illuminatesupportarrphp-on-line-388

荆学民
2023-03-14

设置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>

现在您已经将服务器名称设置为exampledomain.com您还需要在窗口中设置主机(DNS)文件,以便您可以在浏览器中输入exampledomain.com并访问laravel项目。

编辑主机文件:

请按照以下步骤操作:

>

  • 按Windows键
  • 在搜索字段中键入记事本
  • 在搜索结果中,右键单击记事本并选择以管理员身份运行
  • 从记事本打开以下文件:

    c:\Windows\System32\Drivers\etc\hosts

    对文件进行以下更改。

    在文件末尾添加以下行:

    127.0.0.1        exampledomain.com www.exampledomain.com
    

    单击文件

    我们在这里所做的是告诉windows,当我们尝试访问exampledomain时。com或www.exampledomain。com不尝试通过internet查找服务器,而是将请求发送到本地计算机本身(127.0.0.1),这将反过来为您的laravel项目提供服务。

    你也可以在wikihow找到另一种方法-

  • 锺玺
    2023-03-14

    是的,使用Apache服务Laravel应用程序是绝对可能的。要调试为什么您的链接会产生404错误,您必须提供有关这些链接指向的URL的更多信息。打印URL时,最好始终使用Laravel的url()secure_url()路由()助手函数。还要确认Apache模块mod_rewrite已启用(Laravel安装:Web服务器配置)

     类似资料:
    • 我有一台CentOs 7服务器,apache正在运行。我正在使用它来运行我的web应用程序。现在我想在上面运行一个Laravel5.0项目。我知道这很奇怪,但事实是我是新来的laravel,这个服务器php版本太旧了5.4。因此,我无法在此服务器上使用最新版本的laravel。 我的laravel项目在本地主机上运行良好。现在,我需要在不使用artisan命令的情况下将其部署到生产服务器。URL将

    • 我有一个运行Ubuntu 14.04的DigitalOcean服务器。我将它用作我的web开发项目的主机。现在我想开始在我的一个项目中使用Laravel,但我有一个问题。 在Ubuntu的/var/www/html文件夹中,我创建了一个文件夹,比如说,“project”。在这个文件夹中,我使用本教程安装了Laravel。现在一切都设置好了,我想运行Laravel,这样我就可以测试它并开始开发它。当

    • 我在尝试导出独立应用程序时遇到问题。 当我使用eclise执行它时,它运行正常,但当我试图导出到可运行的jar时,它会给我一些错误。 我的坚持。xml看起来像 它位于src/META-INF/persistence。xml 从终端运行时得到的堆栈跟踪是: 在爪哇。朗,反思一下。方法在组织中调用(未知源)。日食jdt。内部的jarinjarloader。罐式装载机。main(jarsrcloader

    • 我已通过composer安装了laravel创建项目laravel/laravel–-首选区 之后运行php artisan service命令到laravel项目目录并得到这个结果。 Laravel开发服务器启动:http://127.0.0.1:8000 但是当我去http://127.0.0.1:8000 浏览器中laravel项目未运行并给出错误信息 无法访问此站点127.0.0.1拒绝连

    • 问题内容: 我的Android平板电脑上有运转正常的php服务器,因此我希望它也可以以某种方式运行nodejs。源代码在github上可用,它也可以在linux上构建,但是我真的不明白如何构建它。 提前致谢, 问题答案: 网站上缺少构建说明: 下载它: 打开包装: 转到解压缩的文件夹: 跑 && && 您可能需要像安装一些依赖或者,和第一。 还有一个打包的Android端口,但是似乎没有被积极维护