Вопросы по PHP

Материал из wiki.p3.ru

PHP-скрипт не закачивает файлы на сервер! Что делать?

Дело в том, что PHP у нас на массовом хостинге работает в safe mode. Скрипт запускается с правами nobody, соответственно у директории, в которую он пытается положить закачиваемый файл, должны быть права на доступ 777. Их можно установить с помощью SSH-клиента или через контрольную панель управления хостингом с помощью Веб-FTP.

Что значит "PHP работает в режиме safe-mode"?

Со списком ограничений safe mode Вы можете ознакомиться в таблице 42-2 официальной документации PHP: http://ru.php.net/manual/en/features.safe-mode.functions.php

  • режим "safe_mode" отключается через панель управления хостингом, в настройке виртуального сервера (раздел Web-сервера создание/редактирование)

Можно ли заставить Apache не выводить заголовок X-Powered-By: PHP/5.3?

Да, с помощью функции header можно подставить свой заголовок. test.php: <? header("X-Powered-By: My Super Parser 1.0"); ?>


GET /test.php HTTP/1.0

HTTP/1.1 200 OK Date: Mon, 05 Apr 2004 12:08:12 GMT Server: Apache/1.3.27 (Unix) mod_ssl/2.8.12 OpenSSL/0.9.7a PHP/4.3.4 X-Powered-By: My Super Parser 1.0 Connection: close Content-Type: text/html

Как можно просмотреть настройки файла php.ini (phpinfo)?

Для получения сведений о версии php, Вам следует на имеющемся аккаунте виртуального хостинга создать файл *.php, содержащий:

<?php phpinfo(); ?>

Как включить/выключить глобальные переменные?

В директории /htdocs/ виртуального сервера следует внести изменения(создать новый файл) в файл .htaccess , добавив директиву:

  • Выключение глобальных переменных

php_flag register_globals 0

  • Включение глобальных переменных

php_flag register_globals 1

  • Включение режима safe_mode

Выключение производится через панель управления хостингом, в настройках вирт. сервера (раздел Web-сервера -> Создание/редактирование)

  • Выключение режима zend.ze1_compatibility_mode

php_flag zend.ze1_compatibility_mode off

  • Включение режима zend.ze1_compatibility_mode

php_flag zend.ze1_compatibility_mode On

  • Включение режима вывода php ошибок

php_value display_errors On

  • режим "safe_mode" отключается через панель управления хостингом, в настройке виртуального сервера (раздел Web-сервера создание/редактирование)

Выставлены 777 права на каталог, но cms-движек сайта (joomla и др.) не может загрузить некоторые компоненты?

Проблема вызвана скорее всего включенным режимом safe_mode в php. Выключение производится через панель управления хостингом, в настройках вирт. сервера (раздел Web-сервера -> Создание/редактирование)

  • отключение режима safe_mode в PHP не безопасно!

Не удаляются файлы, созданные PHP скриптом?

При загрузке файлов на сервер припомощи PHP скриптов, сервер выставляет им права пользователя www, т.к. загружает от имени PHP. Удалить такие файлы можно так же через php скрипт, или же произвести следующие действия:

  1. зайти в панель управления хостингом, в раздел "Web-сервера (cоздание/редактирование)"
  2. выбрать нужный вирт. сервер и нажать кнопку "Выбрать"
  3. не изменяя никаких параметров, нажать на кнопку "Записать/Сохранить изменения"
  4. подождать 30 минут, права на файлы и каталоги будут восстановлены автоматически