У нас проблема с использованием библиотек PEAR
в Windows
из PHP
.
Груша содержит много классов, мы используем несколько классов, одним из которых является класс Mail, найденный в Mail.php
. Мы используем PEAR на пути, вместо того, чтобы указывать полный явный путь к отдельным файлам PEAR:
require_once('Mail.php');
Вместо:
require_once('/path/to/pear/Mail.php');
Это вызывает проблемы в модуле администрирования сайта, где есть файл mail.php
(используется для отправки почты пользователям). Если мы находимся на административном экране, который отправляет электронное письмо (например, экран администрирования пользователей, который может генерировать и отправлять новые случайные пароли пользователям по электронной почте, когда они утверждаются из очереди на модерацию), и мы пытаемся включить Mail.php
, мы «случайно» включаем mail.php.
Не изменяя предваряющий полный путь к установке PEAR, явно требующий наличия модулей PEAR (нестандартный, обычно вы устанавливаете PEAR по своему пути ...), есть способ заставить PHP в Windows требовать, чтобы файлы чувствительны к регистру
Мы сами добавляем путь PEAR к пути включения, поэтому имеем контроль над порядком пути. Мы также признаем, что нам следует избегать использования имен файлов, которые конфликтуют с именами PEAR, независимо от регистра, и в будущем так и будет. Однако эта страница (которая не является включаемым файлом, а контроллером) уже несколько лет находится в хранилище, и плагины специально генерируют URL-адреса для предоставления ссылок / перенаправлений на эту страницу при их обработке.
(Мы поддерживаем Apache, Microsoft IIS, LightHTTPD и Zeus, используя PHP 4.3 или более позднюю версию (включая PHP5))