4

我从 Github 下载了最新版本的 Laravel,将其解压缩,然后将其放在 MAMP 的 htdocs 文件夹中。MAMP 运行 PHP 版本 5.4.10,因此满足 Laravel 对 PHP >= 5.3.7 的要求。我尝试通过输入以下命令使用终端安装作曲家:

curl -sS https://getcomposer.org/installer | php

并收到错误阅读:

 #!/usr/bin/env php
 Some settings on your machine make Composer unable to work properly.
 Make sure that you fix the issues listed below and run this script again:

 The detect_unicode setting must be disabled.
 Add the following to the end of your `php.ini`:
 detect_unicode = Off

 A php.ini file does not exist. You will have to create one.
 If you can not modify the ini file, you can also run `php -d option=value` to modify ini     values on the fly. You can use -d multiple times.

当我尝试加载

http://localhost:8888/laravel/public/

在我的浏览器中,PHP 错误日志显示

05-Sep-2013 16:57:03 Europe/Berlin] PHP Fatal error:  require(): Failed opening required '/Applications/MAMP/htdocs/laravel/bootstrap/../vendor/autoload.php' (include_path='.:/Applications/MAMP/bin/php/php5.4.10/lib/php') in /Applications/MAMP/htdocs/laravel/bootstrap/autoload.php on line 17

我觉得这个错误有一个相当简单的解决方案,但由于我对 Laravel 很陌生,我需要指出解决这个问题的正确方向。

谢谢。

4

5 回答 5

18

在安装 Laravel 4 之前,您需要启动并运行 Composer。该步骤在此处失败。

尝试运行此命令:

$ curl -sS getcomposer.org/installer | php -d detect_unicode=Off

它会规避这个问题,这样你就可以继续安装 Laravel 4。

编辑:

对于 Composer 的全局安装,之后执行以下操作:

$ sudo mv composer.phar /usr/local/bin/composer.phar
$ alias composer='/usr/local/bin/composer.phar'

然后,在您想要将 Laravel 4 放入的目录中,

$ php composer create-project laravel/laravel --prefer-dist
于 2013-09-05T15:05:04.747 回答
3

我有同样的问题,你的系统没有使用MAMP'sPHP而是使用php你的 mac 自带的。

我在已经安装laravel时记录了我是如何安装的。MAMP我希望你和其他人觉得它有帮助。

一种。添加到MAMP_ _PHPPATH VARIABLE.bash_profile

export PATH=/Applications/MAMP/bin/php/php5.5.10/bin:$PATH

湾。install Composer -go to http://www.getcomposer.org/ ->getting started ->全局复制并在终端执行以下命令……</p>

cd ~
curl -sS https:/?getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

C。在终端 使用,安装Laravel在文件夹中……</p>MAMP/htdocscomposer

cd /Applications/MAMP/htdocs
composer create-project laravel/laravel neji --prefer-dist

**其中 neji 是您的网站/项目的名称

d。编辑 /private/etc/hosts

sudo nano /private/etc/hosts

在文件的底部添加127.0.0.1 neji。保存并退出

e. 使用任何 textEditor 编辑/Applications/MAMP/conf/apache/httpd.conf 取消注释,方法是删除#虚拟主机上的之前包含...,请参阅下面的位置...

 # Virtual Hosts
 #Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

变成……

 # Virtual Hosts
 Include  /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

F。使用任何 textEditor 编辑/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf 在底部添加以下文本

# I am not sure about this since DocumentRoot does not points to the public folder
# but I still added it and it's working, maybe someone will clarify this part
 <VirtualHost *:80>
    ServerAdmin localhost
    DocumentRoot "/Applications/MAMP/htdocs"
    ServerName localhost
    ServerAlias www.localhost
#     ErrorLog "logs/dummy-host.example.com-error_log"
#     CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

# this one, I think is the code that makes it work bec the DocumentRoot points to public folder
<VirtualHost *:80>
    ServerAdmin neji.dev
    DocumentRoot "/Applications/MAMP/htdocs/neji/public/"
    ServerName neji.dev
    ServerAlias www.neji
#     ErrorLog "logs/dummy-host.example.com-error_log"
#     CustomLog "logs/dummy-host.example.com-access_log" common
</VirtualHost>

** 2 件事要注意

1st,将 ServerName 设置为您的 projectName(neji.dev)

2、将DocumentRoot设置为公用文件夹

G。使用您喜欢的浏览器打开您的项目

neji.dev/

**不要忘记/最后

您应该会看到laravel欢迎页面。

然后几天后切换到VM:)

于 2014-10-10T02:17:06.103 回答
0

听起来您缺少依赖项。

安装文档很清楚:

安装 Composer 后,下载最新版本的 Laravel 框架并将其内容解压缩到服务器上的目录中。接下来,在 Laravel 应用程序的根目录中,运行php composer.phar install(或 composer install)命令来安装框架的所有依赖项。此过程需要在服务器上安装 Git 才能成功完成安装。

你已经下载并解压了 Laravel 文件到你的htdocs文件夹中,所以现在运行:

php composer.phar install 

在您的终端中安装依赖项。

那应该可以解决问题。

当你想更新 Laravel 时,只需运行:

php composer.phar update

希望这可以帮助!

于 2013-09-05T16:12:23.497 回答
0

问题是,当您“安装” MAMP 时,终端中的 php 命令不使用 MAMP 的 PHP,而是使用默认的 mac os one

只需输入终端:它返回哪个 php:/usr/bin/php

要在没有额外参数的情况下安装 Laravel,只需更新您的 .bash_profile 文件以使用 MAMP 的 PHP

我在这里写了一个文档(法语):

https://docs.google.com/document/d/1eXaL8mAv7bGQ_xq_f6sO5jf23X7APuRwCDAexHN52mY/edit

问候

于 2013-12-15T14:03:57.980 回答
0

除了确定您使用的是哪个版本的 php:
which php
并在 .bash_profile 中编辑路径(正如其他人已经很好解释的那样),请务必检查 php 是否仍然存在于 /usr/bin 中
ls /usr/bin/php
,如果存在,则禁用它通过将其重命名为 php.bak 之类的东西
cd /usr/bin
sudo mv php php.bak
在我的情况下,我已经完成了 .bash_profile 中路径变量的所有重置,并检查了权限,并跟进了一系列关于配置路径变量等其他方式的辩论,但毕竟通过完全禁用 /usr/bin 中的旧 php 解决了我的问题。

于 2014-01-20T00:04:06.833 回答