Intereting Posts
MySQL выбирает из таблицы в зависимости от других значений таблицы Сортировка большого многомерного массива как создать пользовательское текстовое поле автозаполнения в yii HTML Reader от PHPWord не работает с таблицами? php ftp проверить, существует ли папка всегда возвращать папку создания ошибок Получить URL-адрес для страницы mediawiki с названием Title – программно в PHP Использование результата SQL в цикле foreach PHP рекурсивно пересекает дерево объектов Объекты, переданные в поле выбора, должны управляться как определить максимальную стоимость маршрута в высокой числовой пирамиде Я хочу интегрировать аутентификацию карты Aadhaar в PHP. Я пробовал этот код для доступа к API, но я не могу получить никакого ответа Как сделать объект общедоступным? PHP шаблоны дизайна memcache Почему массив PHP изменяется, когда его элемент привязан к ссылке? Неперехваченное исключение: Ошибка: разрешение отклонено для <https://www.facebook.com>, чтобы получить свойство Proxy.InstallTrigger

Обработка ошибок и обходные пути allow_url_fopen и allow_url_include отключены на сервере

У меня есть несколько функций в моем приложении php, которые ретранслируют по вызовам file_get_contents (), file_put_contents и getimagesize ().

Проблема в том, что когда allow_url_fopen allow_url_include отключены в php.ini, я получаю ошибки в этих критических функциях.

Предупреждение: getimagesize () [function.getimagesize]: доступ к URL-файлу отключен в конфигурации сервера в /home/content/…/html/_sites/mysite/wp-content/themes/mytheme/functions.php on line 2534

Каковы варианты решения этих проблем?

EDIT : Это все локальные файлы на том же веб-сервере, что и вызывающий php-скрипт. Есть ли предпочтительный метод для чтения / записи содержимого файла?

Вы можете использовать завиток для получения удаленных страниц. Вы можете сохранить результаты запроса curl к переменной и echo () вместо использования оболочки url для извлечения содержимого.

Теоретически вы можете также eval () вернуть данные. Но запуск удаленного кода PHP – это угроза безопасности ENORMOUS, любой PHP-код, включенный таким образом, может буквально сделать все, что вы можете. НЕ ДЕЛАЙТЕ ЭТО! То же самое происходит и для allow_url_include

Если у вас есть доступ к вашему веб-серверу, вам может потребоваться найти файл php.ini, например:

 /etc/php5/apache/php.ini 

И используйте следующие параметры:

 ; http://php.net/allow-url-fopen allow_url_fopen = On ; http://php.net/allow-url-include allow_url_include = Off 

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

Второе решение может заключаться в использовании cURL. Я предполагаю, что вы пытались вызвать getimagesize с URL-адресом. Документация здесь: http://php.net/manual/en/book.curl.php

 $ch = curl_init('http://example.com/image.php'); $fp = fopen('/my/folder/flower.gif', 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp);