2. Ограничение safe_mode
safe_mode в переводе с английского означает "безопасный режим". В этом режиме некоторый функционал PHP просто выключен. Очень хорошо о том, что такое safe_mode описано здесь. Кроме того, что в этом режиме не работают многие функции PHP, для нас наиболее важным является вот это: Когда safe_mode включён/on, PHP проверяет, совпадает ли владелец текущего скрипта с владельцем файла, которым оперирует функция работы с файлами.. Непонятно? Поясняю. Допустим вы заливаете ваши PHP-скрипты на хостинг по FTP или распаковываете архив с PHP-скриптами, зайдя по SSH. Владелец залитого или распакованого файла будет установлен согласно вашей учётной записи (аккаунту) (права же доступа к PHP-скриптам определяются либо настройками системы по умолчанию, либо теми правами, которые сохранены в распаковываемом архиве, либо теми правами, которые устанавливает в процессе закачки ваш FTP-клиент). Теперь, когда вы попытаетесь открыть какой-либо файл залитым PHP-скриптом, будет произведена проверка владельца того файла, который вы пытаетесь открыть. Если данный владелец не совпадёт с владельцем PHP-скрипта (т.е. вашим аккаунтом), будет выдано сообщение об ошибке. Таким образом, вы не сможете открыть ни одного файла, владельцем которого вы не являетесь. Это предохраняет ваши данные от чтения и записи чужими пользователями! Однако остаётся ещё одна возможность атаки на ваши данные. Как уже говорилось, для нормальной работы Drupal вам необходимо дать права на запись в каталог web-серверу. При этом, создаваемые web-сервером файлы и каталоги будут иметь другого владельца! Этим владельцем станет пользователь, от имени которого работает web-сервер. Т.е. если с помощью вашего Drupal записали PHP-скрипт, то теперь вы можете запустить этот PHP-скрипт и читать/писать (если конечно позволяют права) с его помощью все файлы, владельцем которых является web-сервер, даже если эти файлы находятся в каталоге вашего соседа по хостингу (который точно также вынужден был открыть этот каталог на запись web-серверу, чтобы иметь возможность закачивать файлы (например картинки) через PHP. Снова дыра в безопасности! И вот чтобы эту дыру закрыть и была придумана директива open_basedir.
3. Ограничение open_basedir
open_basedir содержит перечень каталогов, в которых вы можете открывать файлы. Напоминаю, что open_basedir работает как при включеном, так и при выключеном safe_mode. Таким образом, попытка открыть любой файл в любом каталоге, который не перечислен в open_basedir, приведёт к ошибке, даже если владелец открываемого файла и владелец PHP-скрипта, который пытается открыть этот файл один и тот же. Таким образом, с одной стороны обеспечивается безопасность при работе PHP в режиме mod_php, а с другой стороны создаётся куча проблем для нормальной работы PHP-скриптов в том случае, если требуется что-то не предусмотренное такой системой безопасности, например запуск внешних программ, установленных в операционной системе.
Думаю у вас проблема из за open_basedir