Поддержка PHP 4
| |
|
PHP (PHP Hypertext Preprocessor) -
язык программирования, ориентированный на создание динамических документов
для www.
Исполнение программы (скрипта) на PHP происходит на сервере, текст
PHP-скрипта включается непосредственно в html документ между специальными
тэгами. Синтаксис языка - смесь C, Java, Perl и собственных языковых
конструкций.
Язык PHP отлично документирован. Вы можете получить подробное описание любой
функции в соответствующем разделе
справочного руководства на официальном сервере PHP. Часто там же
присутствуют полезные примеры и комментарии. Быстро найти информацию по
нужной команде можно воспользовавшись системой поиска.
Много информации о PHP на русском языке есть на странице Club of the PHP developers
Основные возможности языка PHP:
- Создание динамических html страниц
- Обработка данных из html форм
- Загрузка файлов на сервер (File upload)
- Установка/чтение HTTP-сookies
- Работа с базами данным (MySQL, PostgreSQL и.т.д.)
- HTTP авторизация
- Собственные механизмы отладки кода
На нашем сервере включены следующие из дополнительных функций PHP:
- Интерфейс к базам данных MySQL и PostgreSQL
- Динамическая генерация изображений (в форматах gif, png, jpg)
- Поддержка TTF (TrueType) шрифтов (библиотека freetype)
- Работа с файлами базы данных dbase (dbf формат)
- Поддержка протокола ftp
а также..
- Поддержка регулярных выражений. (PCRE - Perl Compatible Regular Expressions)
- XML
- Интерфейс к функциям POSIX
Интерпретатор языка PHP версии 4 доступен для тарифных планов "Рабочий", "Деловой" и
"Профессионал". Текущую версию PHP, а также другие настройки можно
посмотреть, выполнив команду phpinfo().
Изменить параметры конфигурации PHP Вы можете, используя директивы
php_value и php_flag.
Например:
php_value include_path ".:/usr/local/lib/php" или
php_flag display_errors on
Разместить эти директивы можно в главном конфигурационном файле Apache
httpd.conf (только для контрактов "Профессионал") или в файле
.htaccess в той директории, где предполагается размещение
PHP-скриптов.
Подробнее о конфигурации PHP
PHP документы могут быть размещены в каталоге www/ или любом
его подкаталоге. Файлы должны иметь расширение .php, .php4
или .phtml.
Вопросы и ответы.
Q: Как организована поддержка PHP?
A: Мы используем модуль www сервера apache. Это дает возможность
задействовать ряд возможностей PHP, которые недоступны в CGI версии,
например, HTTP авторизацию и постоянные соединения с базой данных.
Q: Где можно размещать PHP-скрипты?
A: В произвольном месте в пределах каталога www/.
Q: Я помню, что раньше PHP-скрипты надо было размещать в каталоге vphp/
и вызывать по схеме http://domain_name/cgi/php/script.php3. Надо ли мне что-то
переделывать?
A: Не обязательно, старая схема поддерживается для совместимости.
Q: Какие права доступа следует устанавливать для скриптов?
A: Достаточно -rw-r--r--, 644.
Q: Какое расширение должен иметь PHP-скрипт?
A: .php, .php4 или .phtml
Q: Как включить поддержку PHP для файлов с другими расширениями?
A: Создайте в каталоге, где лежат скрипты, файл .htaccess следующего содержания:
AddType application/x-httpd-php .ext1 .ext2
где .ext1 и .ext2 - это конкретные расширения файлов, для которых Вы хотите включить поддержку.
Например, .myphp или .abc
Примечание: не используйте Site Manager для управления доступом к файлам данного каталога.
Q: Как заставить PHP корректно работать с кириллицей?
A: Для корректной работы с кириллицей необходимо использовать функцию setlocale().
Например, "setlocale (LC_CTYPE, 'ru')". Значение 'ru' соответсвует кодировке
win-1251, 'ru_RU.KOI8-R' - koi8-r
Q: Почему не выводятся на экран ошибки выполнения PHP-скриптов?
A: Из соображений безопасности конфигурация PHP позволяет писать ошибки
выполнения скриптов только в файл ошибок error_log, ведение которого Вы
можете включить на сервере статистики. Но Вы можете разрешить вывод ошибок,
создав в каталоге, где лежат скрипты, файл .htaccess следующего содержания:
Для PHP4 (и PHP5):
php_flag display_errors on
Для PHP3:
php3_display_errors on
Q: Как исполнять PHP-скрипт периодически в заданное время или запускать его в Unix shell'е?
A: Воспользуйтесь cron. Имя
скрипта передается командному интерпретатору /usr/local/bin/php
в качестве параметра. Например, для запуска скрипта в начале каждого
часа можно использовать следующую строку в конфигурации crontab:
5 */1 * * * /usr/local/bin/php3 -q /path/to/script.php3
или
5 */1 * * * /usr/local/bin/php4 -q /path/to/script.php4
Ниже перечислены все доступные версии интерпретаторов:
/usr/local/bin/php4
PHP 4
/usr/local/bin/php4-xslt
PHP 4 с поддержкой функций XSLT;
/usr/local/bin/php5
PHP 5
/usr/local/bin/php5-libxml
PHP 5 с поддержкой функций XSLT;
Если Вам необходимо запускать PHP-скрипт из Unix-shell'а или из cron'а с каким-либо
оптимизатором PHP, укажите нужный ini-файл с помощью ключа "-c".
Например, если нужно запускать скрипт, использующий Zend Optimizer, его вызов будет таким:
/usr/local/bin/php4 -c /usr/local/lib/php4_zo.ini -q /path/to/script.php4
Q: Какая версия библиотеки GD используется на хостинге?
A: В настоящий момент нами используется библиотека gd версии 2.x,
которая поддерживает работу с изображениями во всех распространенных форматах
(gif, jpeg, png).
Q: Можно ли использовать функции XSLT для работы с XML?
A: Да, можно. По умолчанию веб-сервер работает с модулем PHP, который
скомпилирован без поддержки функций XSLT. Если вы хотите подключить их, то
для тарифов "Рабочий" и "Деловой" это можно сделать на Сервере Статистики, выбрав услугу
"www.domain", далее - раздел "Управление услугой".
Для тарифного плана "Профессионал" необходимо отредактировать файл
конфигурации веб-сервера Apache ~/proff/conf/httpd.conf, изменив строку, в
которой подключается модуль PHP:
LoadModule php4_module /www/libexec/libphp4-xslt.so
Примечание: после внесения необходимых изменений нужно рестартовать
веб-сервер.
Обратите внимание на то, что поддержка XSLT реализована двумя путями: через
DOM/XML (с библиотекой libxml 2.x) и с помощью модуля Sablotron. Если вы
только начинаете работать с XSLT, и выбор того или иного механизма для вас
пока еще не принципиален, рекомендуем вам работать именно с DOM/XML - именно
этот механизм продолжает активно развиваться и поддерживаться в PHP версии
5.
Q: Можно ли использовать PHP 5?
A: Да, PHP 5 доступен на тарифах "Деловой" и "Профессионал". Подробно об
использовании PHP 5 можно прочитать в соответствующем
разделе документации.
Q: Можно ли использовать Zend Optimizer, eAccelerator? Есть ли доступ к
конфигурации PHP?
A: Да, можно.
Примечание: развитие 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) - этот пункт доступен только
для тарифа "Деловой". Файл "php4.ini" при этом должен находиться в корне
вашей домашней директории.
Для тарифного плана "Профессионал" необходимо отредактировать файл
конфигурации веб-сервера Apache ~/proff/conf/httpd.conf. После загрузки
модуля PHP нужно написать следующую строку:
php_ini_filename /usr/local/lib/php4_zo.ini
Для использования Zend Optimizer подключайте файл "php4_zo.ini", для eAccelerator - "php4_eaccelerator.ini", для
eAccelerator + Zend Optimizer -
"php4_eaccelerator_zo.ini". Чтобы использовать собственную конфигурацию PHP, путь
к "php4.ini" необходимо указать как
"путь_к_домашней_директории/php4.ini". Путь к вашей домашней директории
вы всегда можете узнать, выполнив команду "echo $HOME" (предпочтительнее)
или "pwd" в Unix-shell.
В качестве исходного файла можно скопировать к себе в домашнюю директорию
тот файл php.ini, который используется централизованно. Для этого в
Unix-shell выполните команду:
cp /usr/local/lib/php.ini ~/php4.ini
Чтобы
вернуться к конфигурации PHP по умолчанию, уберите или закомментируйте
директиву "php_ini_filename".
Примечание: после внесения необходимых изменений нужно рестартовать
веб-сервер.
О том, как подключить Zend Optimizer, eAccelerator или использовать
собственную конфигурацию PHP в PHP 5, читайте в разделе документации "Поддержка PHP 5".
Q: Где можно посмотреть вывод функции phpinfo()?
A: На странице http://www.host.ru/phpinfo/ есть
информация о работе функции phpinfo() для различных версий модуля PHP,
доступных пользователям. Конкретно для PHP 4:
Q: Моего вопроса нет в этом списке. Что делать?
A: Задайте Ваш вопрос службе технической поддержки здесь.