Поддержка PHP 5
| |
|
PHP (PHP Hypertext Preprocessor) - язык программирования,
ориентированный на создание динамических документов для www. Исполнение программы (скрипта)
на PHP происходит на сервере, текст PHP-скрипта включается непосредственно в html-документ
между специальными тэгами.
5-ая версия PHP является самой современной и динамично развивающейся. По
сравнению с PHP 4 она содержит очень большое
количество изменений и нововведений, которые уже сейчас могут оценить и
применять для построения своих сайтов пользователи тарифных планов
"Рабочий", "Деловой"
и "Профессионал". Самые основные и значительные изменения:
- использование Zend Engine
II с полноценной поддержкой объектно-ориентированной
модели;
- полностью переработанная поддержка XML, использование библиотеки libxml версии 2;
- новое расширение SimpleXML, позволяющее работать с XML как с
PHP-объектами;
- встроенное расширение SOAP для работы с веб-сервисами;
- новое расширение MySQLi для работы с серверами MySQL версии 4.1 и
выше, предоставляющее объектно-ориентированный интерфейс в дополнение к
стандартному;
- встроенная поддержка SQLite;
- значительно переработанные механизмы использования потоков, в том
числе дающие возможность использовать низкоуровневые операции с
socket'ами...
С полным списком изменений в PHP 5 можно ознакомиться на официальном сайте
разработчиков.
Как организована поддержка PHP 5 на виртуальном хостинге.
PHP 5 подключается в виде модуля веб-сервера Apache (mod_php).
Это дает возможность использовать ряд возможностей PHP, которые недоступны в CGI версии,
например, HTTP-авторизацию и постоянные соединения с базой данных
(persistent connection), что зачастую дает большую производительность,
например, при активном использовании MySQL.
Функции и модули, включенные в PHP 5.
На серверах хостинга модуль PHP 5 скомпилирован со следующими библиотеками и
модулями:
- интерфейс к базам данных MySQL и PostgreSQL;
- динамическая обработка и генерация изображений (в форматах GIF, PNG,
JPEG, WBMP);
- поддержка TTF (TrueType) шрифтов (библиотека FreeType);
- работа с файлами базы данных dbase (формат DBF);
- поддержка протокола FTP;
- функции библиотеки iconv (например, преобразование кодировок, в том
числе - поддержка Unicode);
- поддержка протокола IMAP;
- поддержка регулярных выражений (PCRE - Perl Compatible Regular
Expressions);
- интерфейс к функциям POSIX;
- поддержка SQLite;
- поддержка DOM/XML (в XML-версии модуля);
- поддержка SimpleXML (в XML-версии модуля);
- поддержка функций XSL и EXSLT (в XML-версии модуля);
Как подключить PHP 5 для использования на своем сайте.
Обратите особое внимание на то, что вы не можете одновременно
использовать две версии PHP - и 4, и 5. Поэтому при переходе на PHP 5
постарайтесь убедиться в том, что написанный вами код совместим с этой
версией языка PHP. Обязательно обращайте внимание на те ошибки, которые, возможно, будут возникать при исполнении
ваших скриптов.
На тарифах "Рабочий" и "Деловой" выбрать нужную версию PHP можно на Сервере Статистики, авторизовавшись с
Управляющим или техническим логином и соответствующим паролем, далее выбрав
услугу "www.domain", затем - раздел "Управление услугой". Вам на выбор будут доступны
следующие модули:
- PHP 4;
- PHP 4 с функциями XSLT;
- PHP 5;
- PHP 5 с поддержкой XML;
Для включения PHP 5 на тарифном плане "Профессионал" необходимо
отредактировать файл конфигурации веб-сервера Apache ~/proff/conf/httpd.conf.
Нужно закомментировать (поставить в начале строки символ "решетка" - #) строки:
LoadModule php4_module ...
AddModule mod_php4.c
И добавить строки:
LoadModule php5_module /www/libexec/libphp5.so
AddModule mod_php5.c
Для использования версии PHP 5 без поддержки XML загружайте модуль
"libphp5.so", с поддержкой XML - "libphp5-libxml.so".
Примечание: после внесения необходимых изменений нужно рестартовать
веб-сервер.
Если в своих скриптах вы нигде не используете функции для работы с XML,
рекомендуем вам выбирать именно ту версию модуля PHP 5, в которой поддержка
XML отключена. В этом случае процессы веб-сервера Apache при старте и в
дальнейшей работе занимают меньший объем оперативной памяти, что в конечном
итоге положительно сказывается на производительности вашего веб-сервера.
Как посмотреть и изменить настройки PHP.
Текущую версию PHP, а также другие настройки можно
посмотреть, выполнив команду phpinfo().
Изменить параметры конфигурации PHP вы можете, используя директивы
php_value и php_flag (для boolean переменных).
Например:
php_value include_path ".:/usr/local/lib/php" или
php_flag display_errors on
Разместить эти директивы можно в главном конфигурационном файле Apache
httpd.conf (только для тарифа "Профессионал") или в файле
.htaccess в той директории, где предполагается размещение
PHP-скриптов.
Подробно о конфигурации PHP можно прочитать на официальном сайте
разработчиков PHP.
Где размещать PHP-скрипты и какие должны быть расширения у файлов.
Ваши PHP-скрипты могут быть размещены в каталоге ~/www/ или любом его
подкаталоге. Файлы должны иметь расширение .php или .phtml.
Если вы хотите, чтобы файлы с другими расширениями обрабатывались PHP,
создайте в каталоге, где лежат скрипты, файл .htaccess следующего
содержания:
AddType application/x-httpd-php .ext1 .ext2
где .ext1 и .ext2 - это конкретные расширения файлов, для которых вы хотите
включить поддержку PHP. Например, .myphp или .abc.
Где можно увидеть ошибки выполнения PHP-скриптов.
Из соображений безопасности конфигурация PHP позволяет писать ошибки
выполнения скриптов только в файл ошибок error_log, ведение которого вы
можете включить на Сервере Статистики. Но вы
можете разрешить вывод ошибок на экран (в браузере), создав в каталоге,
где лежат скрипты, файл .htaccess следующего содержания:
php_flag display_errors on
Как исполнять PHP-скрипт периодически в заданное время или запускать его в Unix shell'е.
Используйте cron. Имя
скрипта передается командному интерпретатору /usr/local/bin/php5
в качестве параметра. Например, для запуска скрипта в начале каждого
часа можно использовать следующую строку в конфигурации crontab:
1 * * * * /usr/local/bin/php5 -q /path/to/script.php
или
1 * * * * /usr/local/bin/php5-libxml -q /path/to/script.php
Интерпретатор /usr/local/bin/php5-libxml включает в себя поддержку XML.
Если Вам необходимо запускать PHP-скрипт из Unix-shell'а или из cron'а с каким-либо
оптимизатором PHP, укажите нужный ini-файл с помощью ключа "-c".
Например, если нужно запускать скрипт, использующий Zend Optimizer, его вызов будет таким:
/usr/local/bin/php5 -c /usr/local/php5/lib/php5_zo.ini -q /path/to/script.php
Использование Zend Optimizer, eAccelerator. Доступ к конфигурации PHP.
Примечание: развитие Turck MMCache остановилось, последняя версия - 2.4.6 -
была выпущена в ноябре 2003 года. eAccelerator создан на базе исходного кода
Turck MMCache
и является его развитием. В нем, в основном, исправлены некоторые ошибки
Turck MMCache.
По умолчанию PHP работает без каких-либо дополнительных
модулей-акселераторов. Если вы хотите подключить их, то
для тарифов "Рабочий" и "Деловой" это можно сделать на Сервере Статистики,
выбрав услугу "www.domain", далее - раздел "Управление услугой". Ниже выбора
версии PHP будет меню со следующими пунктами:
PHP без оптимизаторов
Zend Optimizer
eAccelerator
eAccelerator + Zend Optimizer
(полезно, например, если необходимо выполнять скрипты,
закодированные с помощью Zend Encoder, но хочется использовать акселератор
от eAccelerator)
собственный php.ini (полностью самостоятельное управление
конфигурацией PHP, подключение динамических модулей, при этом - без
необходимости компилировать собственный PHP) - этот пункт доступен только
для тарифа "Деловой". Файл "php5.ini" при этом должен находиться в корне
вашей домашней директории.
Для тарифного плана "Профессионал" необходимо отредактировать файл
конфигурации веб-сервера Apache ~/proff/conf/httpd.conf. После загрузки
модуля PHP нужно написать следующую строку:
php_ini_filename /usr/local/php5/lib/php5_zo.ini
Для использования Zend Optimizer подключайте файл "php5_zo.ini", для eAccelerator - "php5_eaccelerator.ini", для
eAccelerator + Zend Optimizer -
"php5_eaccelerator_zo.ini". Чтобы использовать собственную конфигурацию PHP, путь
к "php5.ini" необходимо указать как
"путь_к_домашней_директории/php5.ini". Путь к вашей домашней
директории
вы всегда можете узнать, выполнив команду "echo $HOME" (предпочтительнее)
или "pwd" в Unix-shell.
В качестве исходного файла можно скопировать к себе в домашнюю директорию
тот файл php.ini, который используется централизованно. Для этого в
Unix-shell выполните команду:
cp /usr/local/php5/lib/php.ini ~/php5.ini
Чтобы
вернуться к конфигурации PHP по умолчанию, уберите или закомментируйте
директиву "php_ini_filename".
Примечание: после внесения необходимых изменений нужно рестартовать
веб-сервер.
О том, как подключить Zend Optimizer, eAccelerator или использовать
собственную конфигурацию PHP в PHP 4, читайте в разделе документации "Поддержка PHP 4".
Вывод функции phpinfo()
На странице http://www.host.ru/phpinfo/ есть
информация о работе функции phpinfo() для различных версий модуля PHP,
доступных пользователям. Конкретно для PHP 5:
Некоторые полезные ссылки по PHP: