Я написал простой API, который объединяет данные с одного сервера на другой.Это очень простой $_GET
API, в котором все данные добавляются в URL как GET-данные.
Итак, я получаю что-то вроде: http://example.com/api.php?param1=afdsa¶m2=TTTT&....
и т. д.
Чтобы вызватьЯ использую file_get_contents($url);
в первую очередь - мне не нужно содержание ответа.Мне просто нужно «дотронуться» до URL, чтобы он начал действовать.
У меня были проблемы с моим хостингом (shared, justhost), и я перешел на VPS.Я начал получать тайм-аут на мои вызовы API, и когда я проверил apache error.log, я увидел:
"failed to open stream: File name too long in ..."
И действительно - строка $url
составляет около 450 символов.
Вопрос - где я могу изменить настройку для длины файла.Это не то же самое, что файловая система жесткого диска, потому что мой собственный компьютер получает ту же строку без проблем и без ошибок.также - у общего хостинга не было никаких проблем с этим URL.
VPS работает с Ubuntu 10.04 lts с версией PHP 5.3.2-1ubuntu4.9
Благодарим вас за помощьв течение двух дней
решено
Ну, вы знаете, как это, когда вы думаете, что знаете, где проблема, а ее нет?хорошо - это была проблема.Я переписал свой API, поэтому все, что он будет делать, это print_r($_GET);
, и что вы знаете - он работал нормально.Итак, я начал добавлять строки одну за другой и обнаружил, что сценарий складывается в функцию php mail.Зачем?Я не знаю, возможно настройки почты не верны - но теперь, когда я закомментировал рассылку - все работает нормально.
Это все еще не объясняет мою ошибку «file to long», ноне берите в голову.Спасибо вам всем