требовать однократную проблему в php

#php #pear #require-once

#php #pear #требовать один раз

Вопрос:

Я использую xampp для разработки своего php-приложения. Несколько дней назад я установил pear, чтобы использовать абстракцию DB. После этого я не мог использовать включаемые файлы из родительского каталога, однако я могу включать из подразделов.

Вот что я вижу, когда проверяю свой путь включения

.;E:xamppphpPEAR

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

Любая помощь приветствуется.

Комментарии:

1. Как вы включаете файлы?

2. @deceze файл, который я пытаюсь включить, находится в /htdocs/sms/application/configs/application.php , я вызываю этот файл из /htdocs/sms/cce_desc/index.php и код require_once «../application/configs/application.php «;

Ответ №1:

Самый простой способ добавить к стеку пути включения…

 set_include_path(implode(PATH_SEPARATOR, array(
    'path/to/app/includes',
    'path/to/any/other/includes',
    get_include_path()
)));
  

Комментарии:

1. Спасибо за ответ, я получил это (include_path=’E:xampphtdocssms ;.;E:xamppphpPEAR ‘), но по-прежнему не удалось включить файл

Ответ №2:

Если вы действительно хотите использовать set_include_path, вы можете сделать это следующим образом:

 set_include_path(get_include_path().PATH_SEPARATOR.'path_to_parent');
  

Используйте предопределенную константу DIRECTORY_SEPARATOR на случай, если ваш код перемещается на сервер, который использует другой разделитель каталогов.

Лично, если бы мне нужно было указать путь специально для определенного сайта, я бы попытался указать путь в файле .htaccess в веб-корне сайта. Это обеспечивает более очевидное место для поиска конфигураций всего сайта, таких как include_path . Вот строка, которую вы должны поместить в файл .htaccess:

 php_value include_path ".;E:xamppphpPEAR;path_to_parent"
  

или на сервере Linux:

 php_value include_path ".:some_path/PEAR:path_to_parent"
  

Комментарии:

1. Спасибо за ответ, создал файл .htaccess в моем корневом каталоге. Это мой путь к родительскому каталогу «E:xampphtdocssms » итак, я устанавливаю значение следующим образом: php_value include_path «.;E:xamppphpPEAR ;E:xampphtdocssms » . Но это не сработало. Я изменил значение на include_path «E:xampphtdocssms » и это работает. Но мне нужны оба значения там.