2013-08-23 4 views
1

Я использую бесплатный веб-хостинг платформы, которая отключает следующий PHP функцию: allow_url_fopen, fsockopen, pfsockpen, getrusage, get_current_user, set_time_limit, getmyuid, getmypid, dl, leak, listen, chown, chgrp, realpath, link, exec, passthru, curl_init.Альтернативных вариантов для связи с внешним сервером в PHP

Этих функций отключенного означает, что я не могу использовать завиток или fsockopen для связи с внешним сервер.

Я попытался с помощью file_get_contents как упоминалось here, но я получаю следующее сообщение об ошибке: file_get_contents(): Unable to find the wrapper https - did you forget to enable it when you configured PHP?

Будучи, что я на правах свободного плана хостинга, я не знаю, что я могу сделать любую конфигурацию PHP. Существуют ли другие возможности для связи с внешним сервером?

+0

Какие веб-хостинг-провайдера вы пользуетесь? Проверьте их веб-сайт (на панели администратора, если они дают вам один, как я полагаю), если вы можете найти что-нибудь о своем файле php.ini – Sugar

+0

Я использую awardpace.com. Я ничего не нашел об этом, но я буду продолжать смотреть. –

+0

Вы пытались использовать простой 'http' вместо безопасного' https'? – dnet

ответ

2

Похоже, вы используете бесплатную учетную запись, и это ограничение вашего хоста для неоплаченных аккаунтов, или вы не просили их активировать исходящие сообщения на вашем платной учетной записи.

От awardspace.com FAQ: (жирным шрифтом области интереса)

15, я не могу использовать RSS-каналы или завиток на моем сайте?

Исходящие соединения отключены по умолчанию на всех счетах, однако они могут быть разрешены для платных аккаунтов по запросу. Итак, все вам нужно сделать, это поднять билет с панели управления хостинга -> Центр поддержки -> Trouble Tickets, и мы включим их для вас.

+0

Спасибо за ответ. Я не видел этого в FAQ. Похоже, мне не повезло. Теперь я, вероятно, начну изучать хорошие платные варианты. –

2

file_get_contents - это, вероятно, ваш лучший вариант. В зависимости от разрешений, которые вы получаете как бесплатный пользователь, вы можете попробовать установить php.ini из кода, который сохраняется только для одного сценария.

См http://php.net/manual/en/function.ini-set.php

Таким образом, чтобы работать вокруг Невозможно найти ошибку HTTPS обертку, вы можете попробовать

ini_set('extension', 'php_openssl.dll'); 
ini_set('allow_url_include', 'on'); 
+0

Спасибо за ответ. К сожалению, я нашел упоминание о том, что бесплатные аккаунты не могут редактировать php.ini. –

+0

Раньше я использовал бесплатный хост (теперь я перешел на платный, что намного лучше для разработки, но это не главное), который не позволял мне редактировать php.ini, но разрешил мне устанавливать определенные параметры через ini_set, который будет использоваться только для этого конкретного запроса страницы. Это стоит попробовать, хотя я сомневаюсь, что они позволят вам изменить параметр расширения. – LS97

+0

Да, к сожалению, ini_set тоже не работает. Спасибо, что ответили. –

Смежные вопросы