Надо пуленепробиваемый этот PHP включить. Не удалось открыть поток - PullRequest
1 голос
/ 23 декабря 2009

В моем файле есть некоторые функции, которые требуют таксона .php для выполнения. Я пытаюсь включить файл следующим образом ... (он вызывается из functions.php, который находится в wp_content / themes / mytheme /

include($_SERVER['DOCUMENT_ROOT'] .'/wp-admin/includes/taxonomy.php');

Однако, в зависимости от настроек конкретного сервера, его попадания или пропуска (в основном попадания), будет ли найдено включение. В случае, если его не найдено, я получаю эту ошибку ...

Предупреждение: include (/home/user/domainname.com/wp-admin/includes/taxonomy.php) [function.include]: не удалось открыть поток: такого файла или каталога в / home / user / domainname нет. ru / testing123 / wp-content / themes / mytheme / functions.php в строке 10

ОБНОВЛЕНИЕ: Предполагая, что я уже делаю столько, сколько могу, используя DOCUMENT_ROOT, есть ли способ избежать ошибки, которая возникает, когда файл не найден? И я буду проверять наличие function_exists в любых функциях, которые требуют taxonomy.php, чтобы подавлять ошибки ...

Ответы [ 2 ]

1 голос
/ 23 декабря 2009

Ну, единственный способ сделать это пуленепробиваемым - это настроить его на каждом сервере, на котором вы его развернете. Если вы не можете предположить, что document_root является надежным фактором, я не могу представить другую переменную, которая могла бы дать вам лучший результат.

Вы можете начать поиск taxonomy.php, но это дорого и ужасно склонно к сбою или выбору неправильного файла (что произойдет, если у моего соседа установлена ​​программа WordPress в /home/user/domainname2.com?

0 голосов
/ 23 декабря 2009

Если ваше приложение зависит от конкретного файла, вы должны использовать require / require_once , чтобы приложение не загружалось частично, несмотря на отсутствие необходимого файла .

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

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