PHP: действительно ли PEAR УСТАНАВЛИВАЕТ или просто загружает и распаковывает библиотеку кода PHP? - PullRequest
2 голосов
/ 16 июля 2011

Справочная информация: Привет! Я использую PHP 5.3 на компьютере с Windows 7 как часть пакета сервера WAMP.Я пытался заставить мой PHP-код отправлять проверочное письмо новым зарегистрированным пользователям, но наткнулся на проблему, связанную с функцией mail ().Как вы, наверное, знаете, функция mail () действительно базовая и не использует SMTP-аутентификацию.Поскольку я использую эту платформу только при разработке своего веб-приложения и не знаю, где оно будет работать в конце, я, вероятно, должен подготовиться к необходимости использования SMTP-аутентификации.

Проблема: послеПохоже, что после нескольких поисков в Google единственным широко используемым методом является почтовый пакет PEAR.Теперь я не знаю, глупа ли я или это действительно связано с языковым барьером (английский не мой родной язык), но даже после того, как я зашел на сайт PEAR и прочитал о том, что это такое, я все еще не понимаюне понимаю это полностью.Итак, есть менеджер пакетов PEAR, который «устанавливает» любой пакет PEAR, который вы хотите, верно?Как именно это сделать?Это просто извлечение кода PHP в какую-то папку, чтобы я позже включил его в мои файлы .php?Изменит ли он какие-либо стандартные вещи PHP (например, функции), о которых мне следует знать?Я имею в виду, что если я никогда не включу библиотеки PEAR в свой код, будет ли код работать так, как если бы PEAR никогда не был «установлен»?Если нет, есть ли какие-либо существенные проблемы с производительностью, о которых я должен знать (например, функция PHP по умолчанию, выполняющаяся дольше после установки PEAR)?Как насчет уязвимостей для какой-либо инъекции (такой как SQL-инъекция)?

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

PEAR - это несколько вещей, и в контексте вашего вопроса вы, похоже, спрашиваете об установщике PEAR (который вы называете PEAR Package Manager) и пакетах PEAR (библиотеках). Установщик загружает сжатые пакеты с любого указанного канала (по умолчанию он устанавливает их с канала pear.php.net) и извлекает их в каталог, на который обычно ссылается ваш путь включения. Когда он делает это, он также учитывает взаимозависимости. Для больших или сложных пакетов, которые могут иметь ряд зависимостей, безусловно, имеет смысл использовать его, а не загружать и распаковывать пакеты вручную.

Это ничего не меняет, поэтому, если вы не включите что-либо из PEAR, это никак не повлияет. Существуют пакеты, которые можно использовать для защиты от определенных типов уязвимостей; MDB2 может использоваться, например, для защиты от SQL-инъекций. Почтовый пакет проверяет, что исходящие электронные письма не отправляются на недопустимые адреса, поэтому вы можете подумать, что это другой тип защиты. Существует также ряд пакетов проверки , которые вы можете использовать для проверки входных данных - например, данный номер телефона действителен в указанной стране.

Конечно, если вы обнаружите проблему с любым из них, вы можете отправить сообщение об ошибке или запрос функции.

2 голосов
/ 16 июля 2011

PEAR "устанавливает", просто загружая и распаковывая код PHP в каталог по пути включения.

С другой стороны, PECL загружает, компилирует и доставляет исполняемое расширение.sidenote, вы, вероятно, не хотите использовать PEAR Mail, SwiftMailer считается лучшим банкоматом.

...