Поддержка PHP 5.3
| |
|
PHP (PHP Hypertext Preprocessor) - язык программирования,
ориентированный на создание динамических документов для www. Исполнение программы (скрипта)
на PHP происходит на сервере, текст PHP-скрипта включается непосредственно в html-документ
между специальными тэгами.
Версия PHP 5.3 - на текущий момент последняя и наиболее актуальная версия.
По сравнению с PHP 5 она содержит очень большое
количество изменений и нововведений, которые уже сейчас могут оценить и
применять для построения своих сайтов пользователи тарифных планов
"Стартовый",
"Стандартный",
"Активный",
"Максимальный",
"МаксимальныйПлюс",
"Битрикс",
"CMS".
Самые основные и значительные изменения:
- Важно ! В отличие от предыдущих версий в 5.3 не поддерживается, и по заверению
разработчиков не будет поддерживаться оптимизатор Zend Optimizer
- поддержка XML, использование библиотеки libxml версии 2.7;
- улучшенная реализация принципов ООП (введено пространство имен, константы классов, автозагрузка классов, переменные статические вызовы
и т.д.);
- родной драйвер MySQL (без использования libmysql);
- улучшенная поддержка параметров командной строки;
- XSLT профайлинг;
- новые уровни ошибок;
С полным списком изменений в PHP 5.3 можно ознакомиться на официальном сайте
разработчиков.
Как организована поддержка PHP 5.3 на виртуальном хостинге.
PHP 5.3 подключается в виде модуля веб-сервера Apache (mod_php).
Это дает возможность использовать ряд возможностей PHP, которые недоступны в CGI версии,
например, HTTP-авторизацию и постоянные соединения с базой данных
(persistent connection), что зачастую дает большую производительность,
например, при активном использовании MySQL.
Функции и модули, включенные в PHP 5.3.
На серверах хостинга модуль PHP 5.3 скомпилирован со следующими библиотеками и
модулями:
- интерфейс к базам данных 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.3 для использования на своем сайте.
Обратите особое внимание на то, что вы не можете одновременно
использовать две или три версии PHP - 4 и 5.3, или 5 и 5.3. Поэтому при переходе на PHP 5.3
постарайтесь убедиться в том, что написанный вами код совместим с этой
версией языка PHP. Обязательно обращайте внимание на те ошибки, которые, возможно, будут возникать при исполнении
ваших скриптов.
На тарифах
"Стартовый",
"Стандартный",
"Активный",
"Битрикс",
"CMS".
выбрать нужную версию PHP можно на Сервере Статистики, авторизовавшись с
Управляющим или техническим логином и соответствующим паролем, далее выбрав
основную услугу "www.domain", затем - раздел "Управление услугой". Вам на выбор будут доступны
следующие модули:
- PHP 4;
- PHP 4 с функциями XSLT;
- PHP 5;
- PHP 5 с поддержкой XML;
- PHP 5.3 с поддержкой XML;
Для включения PHP 5.3 на тарифных планах
"Максимальный" и
"МаксимальныйПлюс"
необходимо
отредактировать файл конфигурации веб-сервера Apache ~/proff/conf/httpd.conf (httpd2.conf для Apache 2.2).
Нужно закомментировать (поставить в начале строки символ "решетка" - #) строки:
LoadModule php4_module ...
AddModule mod_php4.c
либо
LoadModule php5_module ...
AddModule mod_php5.c
И добавить строки:
LoadModule php5_module /www/libexec/libphp53.so
AddModule mod_php5.c
Примечание: после внесения необходимых изменений нужно рестартовать
веб-сервер.
Внимание !
Для Apache 2.2 необходимо изменить только строку LoadModule, т.к. директивы AddModule не существует более в последних версиях веб-сервера.
Как посмотреть и изменить настройки 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, (httpd2.conf для Apache 2.2) (только для тарифов
"Максимальный" и
"МаксимальныйПлюс") или в файле
.htaccess в той директории, где предполагается размещение
PHP-скриптов.
Подробно о конфигурации PHP можно прочитать на официальном сайте
разработчиков PHP.
Где размещать PHP-скрипты и какие должны быть расширения у файлов.
Ваши PHP-скрипты могут быть размещены в каталоге
www
в директории, соответствующей имени сервера. Например, если Ваш сервер
называется host.ru, то скрипты должны быть расположены в
~/host.ru/www/. Если у Вас есть дополнительный сервер
new-host.ru, то скрипты для него должны быть расположены в
~/new-host.ru/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/php53 -q /path/to/script.php
Если Вам необходимо запускать PHP-скрипт из Unix-shell'а или из cron'а с каким-либо
оптимизатором PHP, укажите нужный ini-файл с помощью ключа "-c".
Например, если нужно запускать скрипт, использующий eAccelerator, его вызов будет таким:
/usr/local/bin/php53 -c /usr/local/php53/lib/php53_eaccelerator.ini -q /path/to/script.php
Использование eAccelerator. Доступ к конфигурации PHP.
Примечание: развитие Turck MMCache остановилось, последняя версия - 2.4.6 -
была выпущена в ноябре 2003 года. eAccelerator создан на базе исходного кода
Turck MMCache
и является его развитием. В нем, в основном, исправлены некоторые ошибки
Turck MMCache.
По умолчанию PHP работает без каких-либо дополнительных
модулей-акселераторов. Если вы хотите подключить их, то
для тарифов
"Стартовый",
"Стандартный",
"Активный",
"Битрикс",
"CMS".
это можно сделать на Сервере Статистики,
выбрав основную услугу "www.domain", далее - раздел "Управление услугой". Ниже выбора
версии PHP будет меню со следующими пунктами:
PHP без оптимизаторов
eAccelerator
собственный php.ini (полностью самостоятельное управление
конфигурацией PHP, подключение динамических модулей, при этом - без
необходимости компилировать собственный PHP) - этот пункт доступен только
для тарифов
"Стандартный",
"Активный",
"Битрикс",
"CMS".
Файл "php53.ini" при этом должен находиться в корне
Вашей домашней директории.
Для тарифных планов
"Максимальный" и
"МаксимальныйПлюс"
необходимо отредактировать файл
конфигурации веб-сервера Apache ~/proff/conf/httpd.conf. После загрузки
модуля PHP нужно написать следующую строку:
php_ini_filename /usr/local/php53/lib/php53_eaccelerator.ini
Для использования eAccelerator подключайте файл "php53_eaccelerator.ini".
Чтобы использовать собственную конфигурацию PHP, путь
к "php53.ini" необходимо указать как
"путь_к_домашней_директории/php53.ini". Путь к вашей домашней
директории
вы всегда можете узнать, выполнив команду "echo $HOME" (предпочтительнее)
или "pwd" в Unix-shell.
В качестве исходного файла можно скопировать к себе в домашнюю директорию
тот файл php.ini, который используется централизованно. Для этого в
Unix-shell выполните команду:
cp /usr/local/php53/lib/php.ini ~/php53.ini
Чтобы
вернуться к конфигурации PHP по умолчанию, уберите или закомментируйте
директиву "php_ini_filename".
Примечание: после внесения необходимых изменений нужно рестартовать
веб-сервер.
Вывод функции phpinfo()
На странице http://www.host.ru/phpinfo/ есть
информация о работе функции phpinfo() для различных версий модуля PHP,
доступных пользователям. Конкретно для PHP 5.3:
Некоторые полезные ссылки по PHP: