我有一个完整的网站,其目录结构如下:
/example.com
/html (public)
/css
/js
index.php
/lib
session.php
other_lib_files.php
/views
index.php
/models
/controllers
如图所示,html 是公开的,其上方的任何内容都是私有的。
我的网站现在需要升级服务器,新服务器(带有 Plesk 的 Linux)具有以下结构(简化为以下有问题的部分):
/myplesksite.com
/httpdocs
/css
/js
index.php
/private
/lib
/models
/views
我认为我应该能够将我的 /lib、/views、/models 等放在 /httpdocs 正上方的目录中,就像我在以前的服务器上一样。
可以吗?还是我必须将其设为私密?
如果没有必要的话,我真的很不想调整整个网站的内部路径......
答案1
因为 Plesk 使用 php open_basedir 来阻止 php 访问 httpdocs 文件夹和 /temp 之外的其他文件
php_admin_value open_basedir "/var/www/vhosts/domain.com/httpdocs:/tmp"
如果您有 root 权限,则可以轻松更改 conf 文件。如果您没有 root 权限,则可以询问您的托管服务提供商是否可以执行此操作。
答案2
您提议的结构应该没问题。