fopen () очень медленно при использовании в Joomla

Я пишу плагин аутентификации для Joomla.
Плагин вызывает внешний сайт для проверки имени пользователя и пароля.

Код работает, но моя проблема заключается в том, что когда я вызываю fopen () из плагина Joomla, для его ответа требуется очень много времени (63 секунды).

При запуске того же кода на сервере (но не через Joomla) вызов fopen () занимает всего 0,1 секунды.

Есть ли какие-либо настройки, которые Joomla мог изменить, что делает вызов fopen () таким долгим? Или есть какая-то другая функция, которую я должен использовать вместо fopen ()? (Я пробовал file_get_contents (), но с тем же результатом)

Ниже приведен код, который я использую (на основе этой статьи: http://wezfurlong.org/blog/2006/nov/http-post-from-php-without-curl/) (У меня не установлен cURL, так что это не вариант.)

$username = "admin";
$password = "1234" ;
$verb = 'GET'
$url = "https://xxx.xxx.xxx/api.phtml/login" ;

$params = array("username"=>$username, "password"=>$password);
$params = http_build_query($params);
$url .= '?' . $params;

$cparams = array( 'http' => array(  'method' => $verb,
'ignore_errors' => true ) );

$context = stream_context_create($cparams);
$fp = fopen($url, 'rb', false, $context);

Allow_url_fopen включен.

Joomla! Версия: Joomla! 2.5.27 Стабильный
Версия PHP: 5.2.6-1 + lenny10

Я боролся с этим уже три дня, поэтому любая помощь будет очень признательна!

Спасибо!

0

Решение

Обычно, когда у нас возникают проблемы с fopen, мы переключаемся на curl, и это решает проблему. В любом случае, проверьте свои .htaccess и ваши локальные файлы php.ini (или .user.ini) для сайта Joomla на наличие ограничений по fopen.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]