I am now developing a PHP website using Laravel 5 framework. I published the website through Git clone to the server. However, after visiting the URL, the website only shows its structures, which is shown as: http://mikemikezhu.me/laravel/laravel_trial/
The index.php in the public folder cannot be parsed, and only the folder structure is displayed. My server is running Centos 7 system. The web server is Apache and the PHP version is 5.4.16. I am wondering whether it is because the PHP version is too old to run the Laravel. Or is there any other ways to publish the website correctly? I am not going to use Forge and Envoyer bacause they are not free of charge.
Check if you have the correct PHP version for your application with the command:
php -v
If you are using Laravel 5.0 you need PHP >= 5.4, PHP < 7
If you are using Laravel 5.1 you need PHP >= 5.5.9
If you are using Laravel 5.2 you need PHP >= 5.5.9
If you are deploying the app with Git, check if the folder permissions are correct and compatible with the Apache user.
Firstly make sure the whole directory structure including files is owned by the apache user - using the chown command.
you'll want to point your vhost to the public folder, not the project route
https://laravel.com/docs/5.0/errors shows you how to enable debug and logging - great for seeing why it might not be working
I'd update to at least PHP 5.6 as #amieiro mentions
Related
I've a lamp stack installed on my localhost. I just installed everything I needed via the command line, but I'm not very knowledgable about how the server works.
So when I just start a very simple php project from scratch, simply make a folder in the root directory and create an index.php with phpinfo() at the top, I find that I'm running php 7.3.
Then when I created another folder with a laravel installation inside (I didn't set up, just copied files and made the required changes - it works fine - note I'm just messing about with laravel, no expert!). If I stick a phpinfo() at the top of a file in the laravel project, it says I'm on php7.4!
How is it possible that the two projects, on the same server which are running different php versions?
I have a whole project with database, everything is working here.
Project with database
I would like to run website so I can see changes I have made.
Im using XAMPP. My configs for VirtualHost hosts and http-vghosts.conf
I have tried this https://youtu.be/iXYCnYRalaw?t=2m13s ->> from [2:13] to [4:22]
using XAMPP, but still cant run it.
Can you give me any advice or steps how to make website run on my PC? [ofcourse just for me (VirtualHost)].
Editor using: Atom
My PC spec
If running laravel appliation inside XAMPP htdocs folder is really necessary, then could you provide some kind of error, simply telling "it doesn't work" doesn't help at all.
One thing you can try is to open command prompt inside laravel folder and run
php artisan serve
This will open local server that runs current project in:
http://127.0.0.1:8000
Also, checking laravel minimum requirements is something you should check out. 5.5 requires PHP 7 and you didnt tell what XAMPP version you are running.
I have created a react-laravel project using laravel-mix. Right now I am run project using
npm run watch
php artisan serve
So by this, I access project by : http://localhost:8000
I have also worked in laravel. In laravel, if we want to access project without php artisan serve then we can access using : http://localhost/project_name/public.
Now my question is, how can I access/execute react-laravel project without php artisan serve? Is there any kind of way to access/execute project without port? Because I want to set up react-laravel on live server and I don't want to continue open terminal on server after code uploading.
I will really appreciate your feedbacks.
There are a multitude of ways to set up a laravel project. and it has nothing to do with the frontend suite you use whether its React or Vue, I will give you 2 options here to run a laravel application.
1. vagrant/homestead
Laravel Homestead is an official, pre-packaged Vagrant box that provides you a wonderful development environment without requiring you to install PHP, a web server, and any other server software on your local machine. No more worrying about messing up your operating system! Vagrant boxes are completely disposable. If something goes wrong, you can destroy and re-create the box in minutes!
Doc Link
2. XAMPP/WAMP/ or any LAMP stack
XAMPP is a completely free, easy to install Apache distribution containing MariaDB, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.
Link
Personally I prefer Laravel Homestead since it contains everything out of the box for laravel Development. like PHP, Nginx, MariaDB, Node, etc...
I am currently working on laravel 5.3. My team mate installed laravel on his machine using composer. In my machine i also have installed composer, and installed a larvel project using laravel installer, which was installed by composer. Now when i got the archive file o fproject installed by my team mate on my machine i run
php artisan cache:clear,
php artisan route:clear,
php artisan key:generate,
php artisan serve
commands and clicked the link provided (i.e localhost:8000 ) in terminal,by this project is running fine but, but when i am entering the url in the browser like
localhost\laravel\public it is not running correctly.
As local dev is always susceptible to configuration issues. I would also suggest your team look into a proper virtualization solution using vagrant/Homestead, More information and documentation available # enter link description here
The advantage is that once the project is configured you never need to worry about these system-specific occurrences and all team members can work on the same underlying system specs.
Note that you can use real domains (e.i project-name.dev.yourdomain.com) by just pointing them to the 10.x.x.x ip range.
Just Give the permissions to these directories
storage
bootstrap/cache
and the work is done.
I am using laravel 5.2 to develop app.
As of now I am using php -S localhost:8888 -t public to deploy the test development app.
I know that I have to change configuration file .env for production.
But itseams I can't use php artisan serve or php -S localhost:8888 -t public to deploy the app as production app.
I am using WAMP in my machine. Currently I placed my laravel app in C:\wamp\www\laravel.
What are the correct steps to deploy my laravel 5.2 app?
php artisan serve creates a local, development, very basic HTTP server and is not for production. It won't handle more than a handful of visits and will break quickly, and isn't secured in the way Apache or Nginx are.
Based on your directory path C:\wamp\www\laravel, I guess you are using a WAMP server? The A in WAMP is Apache - the web server you use instead of php artisan serve.
Setting up the site on a production server will vary based on your setup, but the general steps will look like:
You should just put your project files straight into in your WAMP directory
Run composer install to install the dependencies.
Edit the database and other vars in your .env file.
Ensure that WAMP is running and the site is configured and you should should be good to go.
If you don't have much server experience and just want to securely and simply host a Laravel app, I would strongly suggest checking our Laravel Forge - it does everything and your site will be on the public Internet within 10 minutes.