使用符号链接和 php 包含带有 cPanel 的外部用户目录
Using symlink and php includes outside user's directory with cPanel
我有一个带有 cPanel 的专用服务器,托管我们的自定义后端系统和多个网站。后端托管在一个单独的域上,并包含一个文件夹 ("shared"),其中有很多 php-类 和后端控制的所有网站使用的图像。
For example:
Backend: 'backend.com'
Website 1: 'website1.com'
Website 2: 'website2.com'
etc.
我从 website1.com 创建了一个符号链接,如下所示:
ln -s /home/backend/public_html/shared/ /home/website1/public_html/shared
然后我在 cPanel 中禁用了 website1.com 的 open_basedir 保护并创建了一个 .user.ini 文件来设置 open_basedir 值:
open_basedir = /home/website1/public_html/:/home/backend/public_html/shared/
当我尝试通过(符号链接)共享文件夹中的 website1.com 访问文件时,出现 500 内部服务器错误。 apache 日志显示:
[Fri Nov 20 03:51:45 2015] [error] [client xxx.xxx.xx.xx] SoftException in Application.cpp:422: Mismatch between target UID (513) and UID (512) of file "/home/website1/public_html/shared/__debug.php"
[Fri Nov 20 03:51:45 2015] [error] [client xxx.xxx.xx.xx] Premature end of script headers: __debug.php
我知道 user/group 之间存在不匹配,但是有没有办法解决这个问题?
使用 Cpanel Addon Domains 修复了它。这样所有域都托管在同一个 cPanel 帐户中,并且没有所有权问题。
我有一个带有 cPanel 的专用服务器,托管我们的自定义后端系统和多个网站。后端托管在一个单独的域上,并包含一个文件夹 ("shared"),其中有很多 php-类 和后端控制的所有网站使用的图像。
For example:
Backend: 'backend.com'
Website 1: 'website1.com'
Website 2: 'website2.com'
etc.
我从 website1.com 创建了一个符号链接,如下所示:
ln -s /home/backend/public_html/shared/ /home/website1/public_html/shared
然后我在 cPanel 中禁用了 website1.com 的 open_basedir 保护并创建了一个 .user.ini 文件来设置 open_basedir 值:
open_basedir = /home/website1/public_html/:/home/backend/public_html/shared/
当我尝试通过(符号链接)共享文件夹中的 website1.com 访问文件时,出现 500 内部服务器错误。 apache 日志显示:
[Fri Nov 20 03:51:45 2015] [error] [client xxx.xxx.xx.xx] SoftException in Application.cpp:422: Mismatch between target UID (513) and UID (512) of file "/home/website1/public_html/shared/__debug.php"
[Fri Nov 20 03:51:45 2015] [error] [client xxx.xxx.xx.xx] Premature end of script headers: __debug.php
我知道 user/group 之间存在不匹配,但是有没有办法解决这个问题?
使用 Cpanel Addon Domains 修复了它。这样所有域都托管在同一个 cPanel 帐户中,并且没有所有权问题。