8

i have some problems installing Laravel 4.1 in Windows 7 via the first method explained in the Laravel documentation ( http://laravel.com/docs/installation#install-laravel ).

So I downloaded the laravel.phar file and put it in my path ( System32 ). Which would be the equivalent of /usr/bin in linux based systems?

( I also added .PHAR in the PATHEXT system variable ).

When i ran the laravel command from the command line it didn't know how to open it, so i chose to open it with php.exe. Now, when I run the composer command it says: "Could not open input file: C:\Windows\system32\laravel.phar".

I suppose it's less a problem with laravel itself but my limited knowledge of the Windows command line. The installation via composer works fine.

Any help is appreciated.


To rephrase and clarify this question: How do I make a .phar file globally available to the Windows command line?

Laurence
  • 58,936
  • 21
  • 171
  • 212
Jakob Fuchs
  • 386
  • 2
  • 4
  • 12

3 Answers3

24

Phar allows you to put an entire PHP application into a PHP Archive. It is not a direct executable as you may assume.

To install Laravel 4.1 successfully on Windows 7, you need Composer -a package manager. First install Composer. This will install globally on your system. Composer can now be called through your command prompt via 'composer'.

Next, go to where your WAMP or XAMP project folder is -generally, this would be your www folder (i.e. C:\wamp\www).

Make a new project directory: www\new_project. Now go to your start menu and run cmd as admin. Next you need to change your directory to the C drive and then into your www\new_project folder:

C:\> cd wamp\www\new_project

Now you can take advantage of composer by calling:

composer create-project laravel/laravel --prefer-dist

Call the above statement in that new_project folder because that is where laravel will install. The above will make your directory path as:

C:\wamp\www\new_project\laravel\

Laravel is now available on your system. You can verify a successful install by going to:

http://localhost/new_project/laravel/public/


Based on the above question edit regarding making a .phar globally available for command:

The directory your looking for is C:\bin --the equivalent folder to /usr/bin on Linux. Copy the laravel.phar file in the C:\bin folder. Or , you can put it in a folder, such as, C:\php\laravel.phar. Then you need to make a batch file somewhere within the PATH called laravel.bat which will then do the following:

@ECHO OFF
php "%~dp0laravel.phar" %*

The "%*" repeats all of the arguments passed to the shell script. Thus, you can run 'laravel new project'. Hope this points you in the right direction.

justinpage
  • 623
  • 7
  • 18
  • Thanks for you answer, but I'm specifically looking for the way of installation that is labeled "Via Laravel Installer" in the documentation, since it provides some benefits over the installation via composer. Basically what I want is, that I can start a new project by typing laravel new [name] in the command line. – Jakob Fuchs Dec 29 '13 at 21:10
  • Laravel uses composer to manage dependencies. Dependencies that update and change over time. What benefits are available over not installing via composer? – justinpage Dec 29 '13 at 21:21
  • Well, the documentation says you can just call the "laravel new" command to start a new project without downloading all the dependencies via composer. http://laravel.com/docs/installation – Jakob Fuchs Dec 29 '13 at 21:40
  • 2
    My Apologies. My Docs was set to 4.0 and not 4.1. Once you have laravel.phar file, just copy that over onto your project folder or www directory: C:/wamp/www/new_project/laravel.phar. By default, laravel.phar needs to be ran by PHP.exe on your cmd inside your project folder. To do so, you need to adjust your PATH variable -verify that you did it correctly: http://stackoverflow.com/questions/12870880/run-php-file-in-windows-cmd Afterwards, you need to call "php laravel.phar new project" – justinpage Dec 29 '13 at 22:03
  • 1
    Thanks, that worked if the laravel.phar file is in the same folder. But how do I go about this, if I want the laravel command to be globally available? I added the folder where the laravel.phar file is located to my path ( in my case C:\Windows\System32\laravel ), restarted the command line, but it does not work ( Could not open input file: laravel.phar ). The documentation suggests to move it into the usr/local/bin folder which obviously is not available on windows systems. – Jakob Fuchs Dec 29 '13 at 22:43
  • The directory your looking for is `C:\bin` --the equivalent folder to /usr/bin on Linux. Copy the laravel.phar file in the C:\bin folder. Or , you can put it in a folder, such as, `C:\php\laravel.phar`. Then you need to make a batch file somewhere within the PATH called `laravel.bat` which will then do the following: `@ECHO OFF php "%~dp0laravel.phar" %*`. The "%*" repeats all of the arguments passed to the shell script. Thus, you can run 'laravel new project'. Hope this points you in the right direction. – justinpage Dec 30 '13 at 02:03
  • 1
    Thanks for your time, I don't seem to get the batch file approach to be working correctly, maybe it's just time to switch to an unix based os ;) For now I will put the laravel.phar file in my webroot directory where I will be creating most of my projects. – Jakob Fuchs Dec 30 '13 at 03:10
5

The documentation on the Laravel website is not a good way to install laravel on windows. You'll got problem with the routing later.

Accessing laravel URL like this is a no-no:

http://localhost/new_project/laravel/public/

to get a better URL you must setup Apache Virtual Host and edit hosts file.

The best way to install Laravel on windows is to use Git and Composer. if you already successfully install Git and Composer, open Git bash and using ls and cd terminal command go to c:\xampp\htdocs folder

Bash LS and CD

and run this command (it will ask you for your Git passphrase, make sure you install your Git properly - tutorial here - http://www.thegeekstuff.com/2012/02/git-for-windows/):

git clone git@github.com:laravel/laravel.git laraveldev

It will download laravel into a folder name laraveldev in htdocs:

c:\xampp\htdocs\laraveldev

Use the Git bash terminal to install laravel into PHP using this command:

composer install

edit hosts file - located in c:\windows\system32\drivers\etc, add this:

127.0.0.1 www.laravel.dev

and put virtual hosts entry in c:\xampp\apache\conf\extra\httpd-vhosts.conf.

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/laraveldev/public"
    ServerName www.laravel.dev
    ServerAlias www.laravel.dev
    ErrorLog "logs/laravel.log"
    CustomLog "logs/custom.laravel.log" combined
    <Directory "C:/xampp/htdocs/laraveldev/public">
        AllowOverride All
        Order Allow,Deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

Restart you xampp apache. Then you can access laravel app in your browser like this:

http://www.laravel.dev

I'm totally 100% sure you'll got those "You have arrived" text :D

jumper rbk
  • 414
  • 4
  • 18
  • Hi, I am new to Laravel, composer etc and I installed using method mentioned by @KLVTZ. What if I follow your advice! Will it conflict etc? More please. – Satya Prakash Apr 11 '14 at 11:30
  • This instruction is the only one that worked for me to get ride off the ugly URL. So yes, it work 100% – Asme Just Sep 22 '14 at 17:49
  • If you use [helper url's](http://laravel.com/docs/4.2/helpers#urls) you won't have problems with routing without pretty url's. – dan-klasson Nov 03 '14 at 09:40
3

installing laravel is easy way with composer, if you cant use composer, than you can go with laravel.phar file. This method is also easiest way to install laravel on your local machine.

I think it will be useful to install using laravel.phar file.

kvcodes

kvv
  • 31
  • 1