Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing Laravel on MAMP

I downloaded the latest version of Laravel from Github, unzipped it, and then placed it inside of the htdocs folder in MAMP. MAMP is running PHP version 5.4.10 and therefore fulfills Laravel's requirement of PHP >= 5.3.7. I tried using the terminal to install composer by entering:

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

And was greeted with an error reading:

 #!/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.

When I try to load

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

in my browser, the PHP error log shows

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

I have a feeling that this error has a fairly simple solution, but as I'm very new to Laravel I need to be pointed in the right direction in regards to solving this.

Thanks.

like image 924
Lance Avatar asked Nov 30 '22 12:11

Lance


2 Answers

You need to get Composer up and running before you can install Laravel 4. That step failed here.

Try running this command instead:

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

It will circumvent the problem so you can get on with installing Laravel 4.

EDIT:

For a global installation of Composer, do this afterwards:

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

Then, in your directory where you would like to put Laravel 4 into,

$ php composer create-project laravel/laravel --prefer-dist
like image 188
ciruvan Avatar answered Dec 04 '22 04:12

ciruvan


I had the same problem, your system is not using MAMP's PHP but instead uses the php that comes with your mac.

I made notes on how I installed laravel when MAMP is already installed. I hope you and others find it helpful.

a. add MAMP's PHP to PATH VARIABLE in .bash_profile

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

b. install Composer -go to http://www.getcomposer.org/ ->getting started ->globally copy and execute the following commands at the terminal…

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

c. install Laravel in MAMP/htdocs folder using composer, at the terminal…

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

**where neji is the name of your website/project

d. edit /private/etc/hosts

sudo nano /private/etc/hosts

add 127.0.0.1 neji at the buttom of the file. save and exit

e. using any textEditor edit /Applications/MAMP/conf/apache/httpd.conf uncomment by removing the # before include… on the virtual hosts, see below where...

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

becomes...

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

f. using any textEditor edit /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf add the following text at the bottom

# 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 things to note

1st, set ServerName to your projectName(neji.dev)

2nd, set DocumentRoot to the public folder

g. open your project using your fav browser

neji.dev/

**don’t forget the / at the end

You should see the laravel welcome page.

Then after a few days switch to VM :)

like image 35
kofi Avatar answered Dec 04 '22 04:12

kofi