【发布时间】:2015-05-01 12:51:01
【问题描述】:
我有带 Apache2 的 PHP,我想在没有 Artisan 的情况下运行 Laravel 框架,但我做不到!有谁知道如何在没有 Artisan 的情况下运行 Laravel?
【问题讨论】:
-
你的意思是在服务器上实际运行它吗?
-
我在 Ubuntu Client 14.04 LTS 和 Apache2 上运行它
我有带 Apache2 的 PHP,我想在没有 Artisan 的情况下运行 Laravel 框架,但我做不到!有谁知道如何在没有 Artisan 的情况下运行 Laravel?
【问题讨论】:
我在 mac 中使用 xampp
在 htdocs 中/运行以下命令:
$ laravel new myblog
成功创建后运行以下并执行以下操作:
sudo chmod -R o+w storage/
把server.php改成index.php(@根目录)
将 .htaccess 从公共复制到根目录
(可选)在资源/app.blade.php → 更改为
<link href="{{ asset('public/css/app.css') }}" rel="stylesheet">
运行以下 http://localhost/myblog/
【讨论】:
简单的解决方案,无需更改任何代码
public/ 文件夹。~OR~
.htaccess 并添加以下代码。此代码会将域重写为您的 laravel 项目的 public/ 文件夹RewriteEngine on
RewriteRule ^(.*)?$ ./public/$1
希望这有帮助。
【讨论】:
如果您将vue.js 与Laravel 一起使用,并且您的应用在没有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/ 访问您的应用程序
【讨论】:
我已经解决了这个问题。问题出在我的 htaccess 和 mod_rewrite (Apache2) 中。现在我只能通过键入 localhost/public.. 来连接到我的应用程序。
如果有人想让应用程序公开,更简单快捷的方法是:
感谢所有用户的帮助! :)
重要修改
考虑使用 Apache Virtual Hosts(将虚拟主机指向 /public Laravel 文件夹)而不是将 server.php 重命名为 index.php,因为这样做你需要在使用 Laravel 的资产时添加前缀“public/” () 函数在您的视图中。
与使用不同配置的其他开发人员合作时,这可能是一个大问题,因为他们将能够看到资产,而您却看不到(反之亦然)。
【讨论】:
public/ 或在项目文件夹中创建.htaccess,这会将域重写为public/ 文件夹。我为相同添加了另一个答案
嗯,简单的方法是
1)新建文件夹“Project”,将除公用文件夹内容外的所有文件复制到项目文件夹
2)将public文件夹的所有文件复制到root
并且你可以在没有 artisan 的情况下运行 laravel。如果你重命名 server.php 并复制 .htaccess ,当你尝试运行 auth artisan 命令时可能会触发一些错误。我遇到了 auth 命令的问题。
【讨论】:
只需遵循 3 步;
【讨论】:
对于 Windows 用户,在您的普通项目 url 上更改和运行 laravel 项目非常容易:
1. "server.php" 到 "index.php" 。
2.将“.htaccess”从公共复制到根目录。
正常的 URL 到此为止。
本地主机/项目名称
【讨论】:
我通过将以下块添加到我的 apache vhost conf 文件中来让我的工作
<VirtualHost *:8003>
ServerName myproject
DocumentRoot "/path/to/myproject/public"
</VirtualHost>
并从我的项目根目录运行sudo chown -R daemon storage
对于替代方案,也许您可以在虚拟主机下运行它。您只需创建一个新的虚拟主机,并将您的项目/公共目录作为 DocumentRoot。
就我而言,我在 Mac OS 下使用 XAMPP。以下是如何实现这一目标的步骤:
确保虚拟主机配置已启用,否则您可以通过此文件启用它:/Applications/XAMPP/xamppfiles/etc/httpd.conf
$ sudo nano /Applications/XAMPP/xamppfiles/etc/httpd.conf
删除下面这一行的井号“#”
# Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf
$ 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 是您项目的位置。
$ sudo nano /etc/hosts
添加以下设置:
# Host of newproject.dev
127.0.0.1 newproject.dev
重启你的Apache,打开你的浏览器,你的项目应该在http://newproject.dev上可用
【讨论】:
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
【讨论】:
Artisan 只是一个命令行界面。它用于创建和运行迁移以及在您的应用程序中自动构建某些对象等。本质上,它只是为了帮助促进创建和处理您的应用程序,而不是运行它。
如果您在实际运行应用程序时遇到问题,则可能是您的 PHP 或 Apache 有问题,而不是 Artisan。
【讨论】: