【问题标题】:How to run Laravel without Artisan?如何在没有 Artisan 的情况下运行 Laravel?
【发布时间】:2015-05-01 12:51:01
【问题描述】:

我有带 Apache2 的 PHP,我想在没有 Artisan 的情况下运行 Laravel 框架,但我做不到!有谁知道如何在没有 Artisan 的情况下运行 Laravel?

【问题讨论】:

  • 你的意思是在服务器上实际运行它吗?
  • 我在 Ubuntu Client 14.04 LTS 和 Apache2 上运行它

标签: php apache laravel


【解决方案1】:

我在 mac 中使用 xampp

  1. 在 htdocs 中/运行以下命令: $ laravel new myblog

  2. 成功创建后运行以下并执行以下操作: sudo chmod -R o+w storage/

  3. 把server.php改成index.php(@根目录)

  4. 将 .htaccess 从公共复制到根目录

  5. (可选)在资源/app.blade.php → 更改为 <link href="{{ asset('public/css/app.css') }}" rel="stylesheet">

  6. 运行以下 http://localhost/myblog/

【讨论】:

  • 非常感谢,我需要这个(将 server.php 更改为 index.php(@根目录))
【解决方案2】:

简单的解决方案,无需更改任何代码

  • 将您的域指向 laravel 项目的 public/ 文件夹。
  • 享受吧!

~OR~

  • 在项目文件夹中创建.htaccess 并添加以下代码。此代码会将域重写为您的 laravel 项目的 public/ 文件夹
RewriteEngine on

RewriteRule ^(.*)?$ ./public/$1

希望这有帮助。

【讨论】:

    【解决方案3】:

    带有 Vue.JS 的 Laravel

    如果您将vue.jsLaravel 一起使用,并且您的应用在没有php artisan serve 的情况下无法运行,则需要创建一个虚拟主机。对于 Windows,这是一个简单的两步过程。

    第 1 步:更新您在 C:\Windows\System32\drivers\etc 的主机文件,

    127.0.0.1       dev.example #You can rename according to your app
    

    第 2 步:更新您的 vhosts 文件,

    我正在使用安装在D:\ 中的Apache,所以我的 vhosts 文件路径位于 D:\xampp\apache\conf\extra

    <VirtualHost *>
        DocumentRoot "D:\xampp\htdocs\example\public" ##Your path 
        ServerName dev.example ##Your URL according to what you set in hosts file in step 1 
        <Directory "D:\xampp\htdocs\example\public">  ##Your path      
            Order allow,deny     
            Allow from all   
        </Directory> 
    </VirtualHost>
    

    就是这样,现在您可以通过http://dev.example/ 访问您的应用程序

    【讨论】:

      【解决方案4】:

      我已经解决了这个问题。问题出在我的 htaccess 和 mod_rewrite (Apache2) 中。现在我只能通过键入 localhost/public.. 来连接到我的应用程序。

      如果有人想让应用程序公开,更简单快捷的方法是:

      • 重命名根目录下的“server.php”文件,在“index.php”中
      • 将 .htaccess 从公用文件夹移动到根目录
      • 让 Apache2 (set correct file/folder permissions) 可以访问您的目录。

      感谢所有用户的帮助! :)

      重要修改

      考虑使用 Apache Virtual Hosts(将虚拟主机指向 /public Laravel 文件夹)而不是将 server.php 重命名为 index.php,因为这样做你需要在使用 Laravel 的资产时添加前缀“public/” () 函数在您的视图中。

      与使用不同配置的其他开发人员合作时,这可能是一个大问题,因为他们将能够看到资产,而您却看不到(反之亦然)。

      【讨论】:

      • 感谢@Syncro 它运行良好。我担心的是,这可能不会导致安全问题,因为所有文件和文件夹都可以访问,例如。 localhost/laravel/app等
      • @FONGOHMARTIN 是的,使用公共文件夹的想法被设置为 Web 服务器可见的唯一文件夹,以避免公共访问您的课程。您可以将响应用于开发环境,但不推荐用于生产环境。
      • 我们可以将域指向public/ 或在项目文件夹中创建.htaccess,这会将域重写为public/ 文件夹。我为相同添加了另一个答案
      • 提前谢谢。它正在工作。你能告诉我更改链接的 URL 和标签导航 url 的方式吗? (这是我的网址:localhost/MonitorEnto/public/home)当我尝试从主页导航到另一个页面时,网址是(localhost/add_employee
      • @Kaushalidesilva 更改 Laravel .env 文件中的 APP_URL。
      【解决方案5】:

      嗯,简单的方法是
      1)新建文件夹“Project”,将除公用文件夹内容外的所有文件复制到项目文件夹
      2)将public文件夹的所有文件复制到root
      并且你可以在没有 artisan 的情况下运行 laravel。如果你重命名 server.php 并复制 .htaccess ,当你尝试运行 auth artisan 命令时可能会触发一些错误。我遇到了 auth 命令的问题。

      【讨论】:

        【解决方案6】:

        只需遵循 3 步;

        1. 更改文件名:在您的项目名称文件夹中将 serve.php 更改为 index.php。
        2. 移动 .htaccess 文件将“.htaccess”文件带到主根目录 [在您的项目名称文件夹中]。
        3. 重新启动本地服务器。您只需单击 1 次即可。重启xampp或wamp的所有服务
        4. 享受

        【讨论】:

        • 我不认为这是一个好的解决方案,因为这样你将无法以正确的方式使用asset() 和其他功能,因为你的工作目录不是公共的,但它是根目录项目的文件夹。因此,每次要插入资产时都必须引用“public/”。想象一下,正因为如此,在投入生产时重构所有项目。
        • 我认为通过这样做{使用asset()函数},当您将项目上传到实时服务器时,您可以从其他工作中拯救自己
        【解决方案7】:

        对于 Windows 用户,在您的普通项目 url 上更改和运行 laravel 项目非常容易:
        1. "server.php" 到 "index.php" 。
        2.将“.htaccess”从公共复制到根目录。

        正常的 URL 到此为止。

        本地主机/项目名称

        【讨论】:

          【解决方案8】:

          我通过将以下块添加到我的 apache vhost conf 文件中来让我的工作

          <VirtualHost *:8003>
              ServerName myproject
              DocumentRoot "/path/to/myproject/public"
          </VirtualHost>
          

          并从我的项目根目录运行sudo chown -R daemon storage

          【解决方案9】:

          对于替代方案,也许您可​​以在虚拟主机下运行它。您只需创建一个新的虚拟主机,并将您的项目/公共目录作为 DocumentRoot。

          就我而言,我在 Mac OS 下使用 XAMPP。以下是如何实现这一目标的步骤:

          1. 启用虚拟主机配置

          确保虚拟主机配置已启用,否则您可以通过此文件启用它:/Applications/XAMPP/xamppfiles/etc/httpd.conf

          $ sudo nano /Applications/XAMPP/xamppfiles/etc/httpd.conf
          

          删除下面这一行的井号“#”

          # Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf
          
          1. 添加新的虚拟主机

          $ sudo nano /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf

          添加一个新的虚拟主机(例如:newproject.dev)

          # Virtual host of newproject.dev <VirtualHost *:80> ServerName newproject.dev DocumentRoot "/Users/your-username/newproject/public" <Directory "/Users/your-username/newproject/public"> Options Indexes FollowSymLinks Includes execCGI AllowOverride All Require all granted </Directory> </VirtualHost>

          注意:/Users/your-username/newproject/public 是您项目的位置。

          1. 更新您的主机

          $ sudo nano /etc/hosts

          添加以下设置:

          # Host of newproject.dev 127.0.0.1 newproject.dev

          重启你的Apache,打开你的浏览器,你的项目应该在http://newproject.dev上可用

          【讨论】:

            【解决方案10】:

            Laravel 框架对于那些不太了解什么是地狱作曲家、.phar 文件来自哪里以及它们是什么以及为什么“Artisan”试图破坏的 PHP 创业者来说真是太痛苦了你的 PHP 生活。 大多数人都在寻找一个 PHP 框架,您所要做的就是下载、提取和编码。 尽管如此,你只需要通过 Composer 安装 Laravel:

            composer global require "laravel/installer=~1.1"
            

            不管怎样,你可以从http://getcomposer.org/下载Composer

            通过 Composer 安装 Laravel 后,导航到本地服务器的目录。您可能需要使用“CD”(更改目录)来执行此操作。 (我说的是 CLI,无论你是在 BASH(Linux)还是 CMD(Windows)) 然后通过在命令行中输入以下内容来创建您的第一个 Laravel 项目:

            laravel new mywebsite1
            

            将“mywebsite1”替换为您的第一个项目名称。 好了,你已经准备好踏上 Laravel 之路了。

            就我而言,我仍在使用 Windows XP 进行此类开发,并且每当我想闻一下 Linux 的气味时,我就会转回 Ubuntu Trusty。 于是 Composer 将“Laravel 安装程序”安装在:

            %userprofile%\Application Data\Composer\vendor\bin
            

            所以我制作了这个目录的备份副本,这样下次我在没有互联网连接的其他设备上使用 Laravel 时,我只需要解压它,然后运行:

            laravel new [myprojectname]
            

            在同一目录中并将生成的文件夹复制到我的 XAMPP 的 htdocs 或 WAMP 的 www 文件夹中。

            无论如何,我只是为那些在家中没有 24/7 互联网连接的人分享我的方法:p

            毕竟大家还是最好阅读一下关于如何正确安装 Laravel 的文档:http://laravel.com/docs/5.0/installation

            【讨论】:

              【解决方案11】:

              Artisan 只是一个命令行界面。它用于创建和运行迁移以及在您的应用程序中自动构建某些对象等。本质上,它只是为了帮助促进创建和处理您的应用程序,而不是运行它。

              如果您在实际运行应用程序时遇到问题,则可能是您的 PHP 或 Apache 有问题,而不是 Artisan。

              【讨论】:

                猜你喜欢
                • 2021-08-23
                • 1970-01-01
                • 2020-05-14
                • 2016-11-25
                • 2020-09-20
                • 2020-07-10
                • 2021-06-22
                • 2016-08-18
                • 1970-01-01
                相关资源
                最近更新 更多