QQ扫一扫联系
!!!郑重说明!!!:虚拟主机通常无法绑定运行目录到子目录,因此部署时会出现太多的安全隐患,配置比较繁琐,我们强烈不推荐!此方法只给技术爱好者作为测试参考,不再提供额外技术支持。
!!!重要的事!!!:在虚拟主机配置环境下,由于网站的所有数据都被暴露在浏览器访问路径下,因此要控制系统的系统文件不被访问到,当配置好之后,至少要测试一下路径不能直接被用户下载,否则系统将会受到严重威胁。
http://www.example.com/.env
http://www.example.com/storage/install.lock
!!!其他说明!!!:使用中遇到问题可直接百度/Google搜索 虚拟主机部署Laravel
关键词自行解决。
使用虚拟主机安装前,请先下载环境的检测程序进行空间自荐,不满足要求的虚拟主机将不能安装。
如果虚拟主机根目录可以绑定到 /public
目录,请绑定到 /public
目录,随后执行 /install.php
安装向导。
如果虚拟主机根目录不支持绑定到 /public
,需要按照如下配置:
Nginx参考配置
server {
listen 80;
server_name www.example.com;
charset utf-8;
index index.php index.html;
root /var/www/html/www.example.com;
autoindex off;
location ^~ /.git {
deny all;
}
location ^~ /.env {
deny all;
}
location ^~ /storage/ {
deny all;
}
location / {
try_files /public$uri /public$uri/ /public/index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PHP_VALUE "open_basedir=/var/www/html/www.example.com/:/tmp/:/var/tmp/";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Apache参考配置
httpd配置
ServerName www.example.com
DocumentRoot d:/wwwroot/example.com
在网站系统根目录增加 .htaccess
文件
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
IIS参考配置
web.config
配置
一些已知特殊环境配置说明
putenv
函数被禁用补丁代码如下function env($key, $defaultValue = null)
{
static $envFileConfig = null;
if (null === $envFileConfig) {
$envFileConfig = [];
$envFile = file_get_contents(__DIR__ . '/.env');
foreach (explode("\n", $envFile) as $line) {
$line = trim($line);
if (empty($line) || strpos($line, '#') === 0) {
continue;
}
list($k, $v) = explode('=', $line);
$envFileConfig[trim($key)] = trim($value);
}
}
if (array_key_exists($key, $envFileConfig)) {
return $envFileConfig[$key];
}
return $defaultValue;
}