У меня есть выделенный сервер с 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
Затем я отключил защиту open_basedir для website1.com в cPanel и создал файл .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
Я понимаю, что существует несоответствие между пользователем / группой, но есть ли способ решить эту проблему?
Исправлено это с помощью Cpanel Addon Domains. Таким образом, все домены размещаются в одной учетной записи cPanel, и проблем с владением нет.
Других решений пока нет …