CURLOPT_FOLLOWLOCATION в curl порой не работает из-за того что директива open_basedir в php.ini (и в httpd.conf на firstvds.ru) имеет значение, указывающее на директорию.
Чтобы заставить curl работать, надо сделать так, чтобы значение директивы равнялось none.
Первым делом убедитесь в том, что в php.ini safe_mode = Off
Если безопасный режим выключен, необходимо отключить open_basedir.
На примере firstvds.ru:
Заходим от имени root на сервер по SSH.
Для этого можно использовать PuTTy
1 отключаем её в php.ini
chmod 774 /usr/local/etc/php.ini (чтобы можно было редактировать)
vim /usr/local/etc/php.ini (открываем в редакторе)
/ open_basedir (ищем по тексту)
;open_basedir =
меняем на
open_basedir = none
зажимаем shift и жмём 2 раза Z – тем самым сохраняем файл и закрываем редактор
2 отключаем в httpd.conf
vim /usr/local/etc/apache22/httpd.conf
в виме открываем строку для ввода команд, путём нажатия Shift+6 (в англ. раскладке)
Там вводим:
%s/dir «/home/MY_SERVER/data:.»/dir none/g
вместо MY_SERVER указываем свою директорию, которая есть в конфиге
либо вручную:
строка php_admin_value open_basedir “….”
заменяем кавычки и их содержимое на none
php_admin_value open_basedir none
зажимаем shift и жмём 2 раза Z – тем самым сохраняем файл и закрываем редактор
3 перезагружаем сервер в ISP Manager