PHP не может открыть локальный файл при внешнем вызове - PullRequest
0 голосов
/ 20 ноября 2008

Я использую платежный шлюз WorldPay на веб-сайте, над которым я работаю. Он обрабатывает все авторизации кредитной карты, а затем вызывает файл PHP на моем сервере с информацией о транзакции. Он захватывает вывод из моего скрипта и отображает его в Chrome WorldPay.

Я не знаю внутреннюю работу, но я предполагаю, что они использовали бы что-то похожее на cURL, чтобы опубликовать детали транзакции в моем сценарии и затем получить выходные данные.

Мой сценарий записывает необходимую информацию в файл XML, отправляет электронное письмо, а затем благодарит клиента за покупку с нами.

Моя проблема в том, что когда я тестирую свой файл, вызывая его напрямую (отключая проверки безопасности и посещая http://example.com/mysite/myscript.php в моем браузере), все работает как запланировано, однако, когда я прохожу через платежную систему (поэтому я предположил, мой скрипт вызывается через cURL), он не работает в этой строке:

$xml = simplexml_load_file('./info.xml');

Есть идеи ??

Уточнение: эта строка возвращает false , что разбивает следующие строки.

Ответы [ 3 ]

1 голос
/ 20 ноября 2008

Это может быть натяжкой, но проверьте один из путаницы номер один php с относительным разрешением пути.

'./' 

относится к точке входа, а не к сценарию, поэтому я использую

dirname(__FILE__).'/' 

везде вместо этого.

1 голос
/ 20 ноября 2008

Проверьте журналы ошибок HTTP - убедитесь, что они включены.

Это может быть что-то вроде проблемы с разрешением на чтение файла.

0 голосов
/ 20 ноября 2008

Вы уверены, что путь к info.xml правильный? Иногда это происходит, когда я включаю файл из подкаталога.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...