by Devin Yang
(This article was automatically translated.)

Published - 7 years ago ( Updated - 7 years ago )

foreword

Install Laravel 5.4 on Zhibang's Linux 7.0 platform, and successfully execute the case sharing,
Because it was originally an old version of the PHP execution environment, it can be transferred to the new version for free for the first time.
Therefore, a test php 7.0 environment was opened for us to test. After minor adjustments,
The environment of Laravel can indeed be executed on the managed php 7.0.x host of Zhibang,
This article introduces how I successfully implemented Laravel's website process in Zhibang.

The following content is for reference only

Be sure to ask for a trial, I can't guarantee that it will work in your environment.
 

upload

1. Upload the entire Laravel project to the hosting provider through FTP . The www on the original Zhibang is renamed to www_old. After the upload is complete, the Laravel public folder is renamed to www.


Settings and Adjustments

2. Zhibang uses the Apache server, and the default .htaccess file cannot be used.
Using the simple version provided by the official website, make sure your public/.htaccess file looks like this:
Options +FollowSymLinks
Rewrite Engine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteRule ^ index.php [L]

3. Mandatory conversion to SSL (not necessary), if your website uses HTTPS.
Options +FollowSymLinks
Rewrite Engine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteRule ^ index.php [L]


Fourth, here we need to correct public_path(); let him print the correct path,

Example: The root directory of Vhost's website is /raid/vhost/example.com.tw/www ( when displayed with echo __DIR__; ),
But Laravel's public_path(); will become.../raid/vhost/example.com.tw/ public , incorrect,
Therefore, through the following settings, the public_path() can be displayed as /raid/vhost/example.com.tw/www,
The root directory of the website set by Accton Apache host.

We can fix the above problem by adjusting the content of public/index.php.
$app = require_once __DIR__.'/../bootstrap/app.php';
// Set the public folder to return to the current directory (that is, www)
$app->bind('path. public', function() {
return __DIR__;
});

Other things to pay attention to may be that the directory of the filessystem needs to be adjusted.
.env database connection and other related adjustments.

 

Tags: web-hosting laravel

Devin Yang

Feel free to ask me, if you don't get it.:)

No Comment

Post your comment

Login is required to leave comments

Similar Stories


laravel

Random passwords in Laravel maintenance mode

The functions mentioned in this article can only be used for Laravel 8 and later versions. If we have some test websites outside Laravel with external IPs, but we only want to access them for ourselves. Here's how I did it for reference

docker,laravel

It's super easy to build a Lravel development environment with Docker

Are you ready for the Laravel 5.5 system environment? laravel/framework 5.5.x-dev requires php >=7.0 -> your PHP version (5.6.30) does not satisfy that requirement. This article describes how to create a Laravel development environment using Docker. With the simple to explosive D-Laravel simple bash, Don't say that I can't set up a Laravel development environment.

docker,laravel

[D-Laravel]./console node

When developing Laravel, sometimes we need to install nodejs packages through npm, but Node in our system is not new enough. It may be impossible to upgrade due to some factors, such as running an old version of nodejs program, etc. In fact, we can use docker through simple commands, so that we can use the latest version of node image to mount the /sites folder on the host side. In this way, we can execute the new version of the npm command at any time.