PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста») — язык программирования, созданный для генерации HTML-страниц на веб-сервере и работы с базами данных. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров. Входит в LAMP — «стандартный» набор для создания веб-сайтов (Linux, Apache, MySQL, PHP (Python или Perl)).
Группа разработчиков PHP состоит из множества людей, добровольно работающих над ядром и расширениями PHP и смежными проектами, такими как PEAR или документация языка. Сравнение режимов работы интерпретатора PHP-скриптовPHP как модуль Apache
В данном случае для работы PHP используется модуль веб-сервера Apache mod_php
Достоинства
- Самая высокая скорость работы скриптов, по сравнению с другими методами.
- Простота работы, сервер сам обрабатывает скрипты.
- Общий конфигурационный файл для всех скриптов (php.ini).
- Возможность задания переменных конфигурации PHP в конфигурационном файле web-сервера или средствами файла .htaccess
Недостатки
- Все скрипты запускаются с правами, с которыми работает web-сервер, тем самым, если есть необходимость записи в какую либо директорию – права доступа необходимо дать на нее всем.
- В случае запуска сторонних приложений скриптами (например, почтовая рассылка), нет возможности идентифицировать пользователя, который запустил процесс.
- Излишняя нагрузка на web-сервер, apache занятый обработкой скриптов может медленно отдавать другие статические данные.
- Ошибки в скриптах могут привести к неработоспособности всего web-сервера
PHP как CGI
В случае работы PHP как CGI используется запуск PHP-скрипта через его передачу на выполнение непосредственно интерпретатору PHP.
Достоинства
- Все скрипты выполняются с правами пользователя – владельца www-домена.
- Возможность индивидуальной настройки PHP для каждого пользователя.
- Меньший расход оперативной памяти по сравнению с модулем apache
- Ошибки в скриптах не приводят к падению веб-сервера в отличие от режима PHP как модуль apache
Недостатки
Проблемы с авторизацией средствами PHP (средствами команды Header) по причине того, что не передаются некоторые переменные сервера php-скрипту.
PHP как FastCGI
При этом используется модуль Apache mod_fastcgi, скрипты передаются его средствами на вход интерпретатора PHP.
Достоинства
За счет кэширования некоторых промежуточных данных скрипт не интерпретируется каждый раз при выполнении и достигается более высокая скорость по сравнению с PHP как CGI.
Недостатки
Лишний процесс пользователя (php-cgi) находится в памяти после первого обращения к процессу.
Изменение режима работы PHP в ISPmanager
Настройка режима работы PHP для сайта осуществляется через меню Домены – WWW домены – свойства сайта – PHP, при условии, что все эти режимы разрешены пользователю – владельцу www-домена. Как установить модули PHP
Модули PHP можно ставить через панель ISPManager раздел "Расширения PHP". Также это можно делать из портов, см. Инсталляция программного обеспечения из портов Как запустить скрипт PHP из планировщика cron
Скрипт PHP можно запустить с помощью планировщика cron, прописав перед адресом скрипта:
/usr/local/bin/php-cgi /(путь...)/script.php
Скрипт PHP может находиться в любой директории, т.е. быть недоступным через FTP.
Вопрос: как запустить этот процесс в режиме "как модуль Apache"? Решение: GET http://ваш_домен/путь_к_скрипту/script.php
Правда такой метод запуска php-скриптов по крону является несколько неправильным.
|