使用symlink和php包含cPanel

时间:2015-11-20 09:32:16

标签: php cpanel symlink internal-server-error open-basedir

我有一个带有cPanel的专用服务器,托管我们的自定义后端系统和多个网站。后端托管在一个单独的域中,并包含一个文件夹(“共享”),该文件夹包含许多由后端控制的所有网站使用的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访问(symlinked)共享文件夹中的文件时,我收到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

我知道用户/组之间存在不匹配,但有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用Cpanel Addon Domains进行修复。这样,所有域都托管在同一个cPanel帐户中,并且没有所有权问题。