Какая конфигурация PHP работает, когда я перехожу из одного каталога в другой?

Я тестирую идею, основанную на моем последнем вопросе, но столкнулся с очень интересной проблемой...

Мой домашний каталог находится на одном пути к серверу (где находятся все домашние каталоги), и по причинам, о которых я могу только догадываться, в конфигурации PHP для этого каталога не включен IMAP.

Однако в каталоге моего проекта, который существует на тестовом зеркале рабочего сайта, включен IMAP.

Итак, я тестирую использование файла .forward для запуска php-скрипта при отправке электронного письма. Единственная электронная почта, которую я могу легко использовать для этого, — это моя электронная почта пользователя, что означает, что я должен настроить .forward в своем личном домашнем каталоге.

.forward работает, но электронное письмо возвращается с частью ошибки. Насколько я могу судить, сценарий не работает из-за «неожиданной функции open_imap()», которую я получил, когда попытался сделать все это в своей личной папке.

Таким образом, проблема заключается в том, что я могу запустить сценарий непосредственно из браузера, поскольку сценарий находится в каталоге с IMAP, но когда я указываю на него электронное письмо из моего домашнего каталога (который, опять же, не имеет IMAP ), он по умолчанию использует настройки PHP для пути к файлу, который запустил скрипт, а не для конфигурации пути самого скрипта.

so:

  1. Я совершенно неправ и просто недостаточно отлажен?
  2. Если я прав, есть ли способ заставить скрипт придерживаться конфигурации php своего собственного пути?
  3. Если нет, есть ли другой способ заставить это работать, кроме настройки всех новых учетных записей электронной почты или обращения к администраторам сервера с просьбой включить IMAP?

person Anthony    schedule 11.12.2009    source источник


Ответы (1)


Я не уверен, что это причина, но у вас могут быть разные настройки php для веб-сервера и для интерфейса командной строки. Это означает, что при доступе к веб-сайту используется другая конфигурация, чем при запуске php из командной строки.

В Debian настройки для веб-сервера Apache находятся в /etc/php5/apache2/, а для CLI — в /etc/php5/cli/.

Но я не знаю, связано ли это с вашей проблемой IMAP.

person Felix Kling    schedule 11.12.2009
comment
Спасибо за чаевые. Оказывается, каждая функция, которую я пытаюсь выполнить, не требующая браузера (запись файла, отправка электронной почты и т. д.), получает ошибку. Если я смогу подтвердить, что это связано с CLI, я отмечу это как ответ. - person Anthony; 11.12.2009
comment
Может быть, когда вы заходите через веб-сайт, вы расширяете путь включения во время некоторого процесса начальной загрузки? - person Felix Kling; 11.12.2009
comment
Как оказалось, вы были правы, но я был далеко с самого начала. У меня не было двоичного файла CGI вверху, И imap не был включен. но я заставил его работать для других вещей, наконец. - person Anthony; 12.12.2009