Я мигрирую с сахара 5.2 на сахар CRM 6.2, и я использую open_basedir, и он не работает ...
Я обнаружил проблему в коде. Это функция glob, которая возвращает false (с open_basedir) вместо пустого массива (с отключенным open basedir)
Файл с проблемой: modules / ModuleBuilder / parsers / views / History.php строка 72.
foreach (glob($this->getFileByTimestamp('*')) as $filename)
{
if(preg_match('/(\d+)$/', $filename, $match)) {
$this->_list [] = $match[1];
}
}
(если glob возвращает null, возникает ошибка)
Когда я ищу документацию по glob http://fr2.php.net/glob,, появляется флаг * GLOB_ERR *: Остановка при ошибках чтения (например, нечитаемые каталоги), по умолчанию ошибки игнорируются.
Но это не меняется, результат ложен, и я не ошибаюсь.
Конфигурация open base dir разрешает путь приложения, / tmp и / usr / share
Кто-нибудь знает, как решить эту проблему без изменения кода (или как добавить код безопасности обновления)
Редактировать
Путь, который просматривает функция glob, находится внутри пути open basedir, он находится в каталоге sugarcrm. Функция glob возвращает false только в том случае, если нет соответствующего файла (поведение без открытой базовой директории для того же случая: пустой массив). Когда в обоих случаях есть файлы, он возвращает заполненный массив.