В 2023 году PHP продолжает быть востребованным, несмотря на свой солидный возраст. Если вы только начинаете свой путь в веб-разработке и решили использовать PHP под Windows, то вам, вероятно, нужно настроить среду для работы с этим языком программирования. В этой статье мы разберемся, как установить и настроить PHP на вашем компьютере на примере Windows 11.
Первым делом скачайте и установите PHP с официального сайта PHP.
Для Windows сборку PHP можно скачать в репозитории. Скачиваем ZIP-архив с нужной вам версией. Я скачиваю последнюю на данный момент PHP 8.2.12.
Создаем папку в любом удобном месте на вашем диске и копируем содержимое архива.
Шаг 2: Настройка пути к PHP
Добавьте путь к директории PHP в переменные среды вашей системы. Это позволит вам запускать PHP из командной строки в любом месте на вашем компьютере.
Для этого откройте «Панель управления» -> «Система» -> «Дополнительные параметры системы» -> «Переменные среды». В разделе «Переменные среды» найдите переменную «Path», выберите ее и нажмите «Изменить».
📢 Подписывайтесь на наш Telegram-канал.
Там вы найдете анонсы обучающих статей и видео, готовый код для ваших проектов и увлекательные курсы. Ничего лишнего — только практика, вдохновение и развитие.
👉 https://t.me/codelab_channel
Добавьте путь к директории PHP (например, C:\php8) в конец списка значений.
Шаг 3: Проверка установки
Чтобы убедиться, что PHP установлено правильно, откройте командную строку и введите команду:
php -v
Если вы видите информацию о версии PHP, значит, установка прошла успешно.
Шаг 4: Настройка веб-сервера
Если вы планируете использовать PHP для разработки веб-приложений, вам нужно настроить веб-сервер. Вариантов много, но для начала можно воспользоваться встроенным сервером PHP. Перейдите в директорию вашего проекта через командную строку и выполните команду:
php -S localhost:8000
Теперь ваш веб-сервер доступен по адресу http://localhost:8000.
В корне проекта создайте файл index.php и скопируйте следующий код:
<?php
echo date("Y-m-d H:i:s"); // Выводит текущую дату и время в формате "год-месяц-день час:минута:секунда"
?>
При переходе по адресу http://localhost:8000 должна показываться дата и время.
В различных руководствах и документациях часто встречается пункт «добавьте путь до чего либо в переменную PATH». Что это за переменная и как в нее что-то добавить описано ниже, в этой заметке.
Что такое переменная PATH и для чего она нужна?
Если коротко, то PATH это такая переменная, с помощью нее операционная система ищет исполняемые объекты, которые вы пытаетесь вызвать в командной строке.
Другими словами, PATH позволяет запускать исполняемые файлы, без указания их точного местоположения на диске. Например, после установки Python на Windows, для выполнения скрипта Питона нам достаточно в командной строке набрать:
python имя_выполняемого_файла.py
Нам не пришлось указывать точного пути до интерпретатора Питона (в моем случае C:\Users\Alex\AppData\Local\Programs\Python\Python37-32\python.exe) как раз из-за установленной переменной PATH.
соответствующую программу. Этим можно воспользоваться в своих целях двумя способами:
Как добавить PHP в системные переменные среды?
Для примера добавим PHP в переменную PATH.
У меня на компьютере интерпретатор php располагается в каталоге C:\xampp\php72, поэтому чтобы выполнить php скрипт в командной строке, мне нужно ввести:
C:\xampp\php72\php.exe имя_скрипта.php
Но согласитесь, гораздо удобней так:
php имя_скрипта.php
К тому же некоторые программы, например IDE будут автоматически «понимать» где расположен интерпретатор php.
Итак, чтобы добраться до настроек переменной PATH, нам сначала нужно открыть Панель управления Windows, поскольку Микрософт постоянно меняет ее положение, проще всего найти ее через поиск:
Далее нужно выбрать Система -> Дополнительные параметры системы.
В последних версия Windows 10 Дополнительные параметры системы открываются по такому пути:
Сначала открываете Все параметры -> Система, далее слева внизу выбираете О программе и справа в списке будет нужный пункт Дополнительные параметры системы.
В открывшемся окне Свойства системы нужно выбрать вкладку Дополнительно и внизу будет кнопка Переменные среды.
Выбираем переменную среды Path и нажимаем Изменить. После этого нажимаем кнопку Создать и вводим пусть до папки, где расположен наш интерпретатор PHP, в моем случае C:\xampp\php72.
Далее везде нажимаем ОК, все, переменная среды для PHP сохранена.
Теперь, если перезапустить командную строку, можно выполнять php скрипты не указывая полного пусти к интерпретатору.
php hello.php
Вполне возможно, что вам не приходилось ранее сталкиваться с PATH и выражениями «переменная окружения», поэтому я кратко поясню, что это такое.
Переменная PATH содержит список папок, в которых Windows ищет исполнимые файлы.
В графическом интерфейсе, когда для запуска программ используются ярлыки, значение PATH не очень большое. Но если вы запускаете программу в командной строке, то PATH может пригодиться. Опять же, если вы указываете полный путь до файла, например, C:\Users\Alex\Documents\php.exe, то PATH не используется. Но если, например, вы запускаете программу только по имени файла или просто по имени (без файлового расширения), то запустится ли программа, будет зависеть от содержимого переменной PATH.
К примеру, я в командной строке пытаюсь запустить файл (без указания полного пути)
php.exe
В этом случае операционная система посмотрит все записи PATH (там может быть указано несколько каталогов). Затем в каждом из этих каталогов Windows попытается найти файл php.exe. Если файл найден, то он будет запущен. Если файл не найден, то будет выведено соответствующее сообщение.
По сути, что-то дописывать в переменную PATH нужно только тем, кто много работает с командной строкой. К примеру, вы программист и размещаете свои программы в папке C:\MyApps и при этом вы часто запускаете свои утилиты командной строки. В этом случае вы можете добавить C:\MyApps в PATH и после этого для запуска программ из этой папки вам уже не нужно будет каждый раз вводить полное имя (например, C:\MyApps\parser.exe), а достаточно будет в командной строке ввести только имя файла:
parser.exe
Нужно ли в Windows добавлять PHP в переменную окружения
При установке и настройке PHP в Windows необязательно добавлять в PATH путь до PHP, но это рекомендуется делать.
Во-первых, вы сможете запускать PHP используя сокращённую запись:
php my_script.php
вместо
C:\Server\bin\PHP\php.exe my_script.php
Во-вторых, ряд расширений (которые включаются в файле php.ini) работают некорректно, если вы не прописали в PATH путь до PHP; в том числе, это касается такого довольно популярного расширения как cURL. По идее — это какой-то баг этих расширений или PHP, но нам самим придётся исправлять ситуацию, поскольку эта проблема существует уже много лет.
Как добавить PHP в системные переменные среды
Итак, приступим.
Нажмите кнопку Windows (это которая раньше была кнопкой «Пуск»), начните набирать «Изменение системных переменных среды»
и откройте соответствующее окно настроек.
Там нажмите «Переменные среды», откроется:
В окне «Системные переменные» найдите и кликните на Path, потом нажмите «Изменить»:
Далее «Создать» и впишите туда «C:\Server\bin\PHP\»:
Поднимите запись в самый Вверх:
Закройте все окна с сохранением сделанных изменений.
Перезапустите сервер.
Связанные статьи:
- Как подключить PHP к Apache на Windows (100%)
- Установка Apache, PHP, MySQL и phpMyAdmin на Windows XP (100%)
- Для чего нужен веб-сервер Apache (100%)
- Готовая сборка Apache для Windows XP (100%)
- Как обновить PHP (100%)
- Модуль Apache mod_alias (RANDOM — 50%)
Пройдите тест, узнайте какой профессии подходите
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы
Введение
PHP — это популярный язык программирования, используемый для создания динамических веб-сайтов и приложений. Он широко используется в веб-разработке благодаря своей простоте и мощным возможностям. В этой статье мы рассмотрим, как установить PHP на различных операционных системах: Windows, macOS и Linux. Независимо от вашей ОС, процесс установки PHP достаточно прост, и мы проведем вас через каждый шаг. Мы также обсудим некоторые важные аспекты, которые помогут вам избежать распространенных ошибок при установке.

Установка PHP на Windows
Шаг 1: Скачивание PHP
Для начала необходимо скачать PHP с официального сайта php.net. Выберите версию, соответствующую вашей системе (обычно это VC15 x64 Thread Safe для современных систем). Обратите внимание на то, что существуют разные версии PHP, и выбор правильной версии может зависеть от ваших конкретных потребностей и конфигурации системы.
Шаг 2: Распаковка архива
После скачивания архива, распакуйте его в удобное для вас место, например, C:\php
. Убедитесь, что у вас есть права администратора для выполнения этой операции. Распаковка архива может занять некоторое время, в зависимости от скорости вашего компьютера и размера архива.
Шаг 3: Настройка переменной окружения
Чтобы PHP работал корректно, необходимо добавить путь к папке с PHP в переменную окружения PATH
. Это позволит вам запускать PHP из любой директории в командной строке.
- Откройте «Панель управления» и перейдите в «Система и безопасность» > «Система».
- Нажмите «Дополнительные параметры системы».
- В разделе «Переменные среды» найдите переменную
Path
и добавьте путь к папке с PHP, например,C:\php
. Убедитесь, что вы не удалили другие пути, уже существующие в переменнойPath
.
Шаг 4: Проверка установки
Откройте командную строку (cmd) и введите команду:
Если установка прошла успешно, вы увидите версию PHP. Это означает, что PHP установлен и готов к использованию. Если вы столкнулись с ошибками, проверьте, правильно ли вы настроили переменную окружения PATH
.
Установка PHP на macOS
Шаг 1: Установка Homebrew
Homebrew — это удобный пакетный менеджер для macOS, который значительно упрощает установку различных программ и утилит. Если у вас его еще нет, установите Homebrew, выполнив следующую команду в терминале:
Homebrew автоматически установит все необходимые зависимости и настроит вашу систему для работы с пакетным менеджером.
Шаг 2: Установка PHP через Homebrew
После установки Homebrew, установите PHP, выполнив команду:
Homebrew автоматически скачает и установит последнюю версию PHP, а также все необходимые зависимости. Этот процесс может занять некоторое время, в зависимости от скорости вашего интернет-соединения и производительности компьютера.
Шаг 3: Проверка установки
Чтобы убедиться, что PHP установлен правильно, введите в терминале:
Вы должны увидеть информацию о версии PHP. Если вы видите сообщение об ошибке, попробуйте переустановить PHP через Homebrew или проверьте настройки вашего терминала.
Установка PHP на Linux
Шаг 1: Обновление пакетов
Перед установкой PHP рекомендуется обновить список пакетов. Это гарантирует, что вы установите последнюю версию PHP и все необходимые зависимости. Откройте терминал и выполните команду:
Эта команда обновит список доступных пакетов и их версий, что позволит вам установить самую актуальную версию PHP.
Шаг 2: Установка PHP
Для установки PHP на Ubuntu или Debian выполните следующую команду:
Для других дистрибутивов Linux команды могут немного отличаться. Например, для CentOS используйте:
Эти команды установят PHP и все необходимые зависимости. Убедитесь, что у вас есть права администратора для выполнения этих команд.
Шаг 3: Проверка установки
После завершения установки, проверьте версию PHP с помощью команды:
Если все прошло успешно, вы увидите версию PHP. Если вы столкнулись с ошибками, проверьте, правильно ли вы выполнили все шаги и обновили ли список пакетов перед установкой.
Заключение и проверка установки
После установки PHP на вашей операционной системе, важно убедиться, что все работает корректно. Для этого выполните команду:
Если вы видите информацию о версии PHP, значит, установка прошла успешно. Теперь вы готовы к разработке на PHP! 🎉
В этой статье мы рассмотрели процесс установки PHP на различных операционных системах. Надеемся, что это руководство было полезным для вас. Удачи в ваших начинаниях с PHP! 😉
Читайте также
Установка
Раздел содержит общие вопросы о способах установки PHP.
Дистрибутивы PHP совместимы с большей частью операционных систем и веб-серверов.
Инструкции раздела «Установка и настройка» рассказывают, как установить PHP.
-
Почему лучше не пользоваться веб-сервером Apache2 с многопоточным модулем MPM (event, worker)
в производственной среде? -
ОС Unix и Windows: Где искать файл php.ini?
-
Unix: Я установил PHP, но при каждом открытии какого-либо документа
вижу «Document Contains No Data», что это значит? -
Unix: Я установил PHP через менеджер пакетов RPMS, но Apache не обрабатывает
PHP-страницы, в чём дело? -
Unix: Я исправил Apache модулем FrontPage и теперь PHP не работает.
Получается, PHP несовместим с модулями Apache FrontPage? -
Unix и Windows: Я установил PHP, но при попытке открыть PHP-файл
в браузере вижу пустой экран. -
Unix и Windows: Я установил PHP, но когда пытаюсь посмотреть созданную PHP-страницу
в браузере, получаю ошибку 500. -
Отдельные операционные системы: Я установил PHP без ошибок,
но когда пытаюсь запустить Apache, выводится ошибка:[mybox:user /src/php5] root# apachectl configtest
apachectl: /usr/local/apache/bin/httpd Undefined symbols:
_compress
_uncompress -
Windows: Я установил PHP, но когда пытаюсь открыть страницу скрипта
в браузере, получаю ошибку:cgi error:
The specified CGI application misbehaved by not
returning a complete set of HTTP headers.
The headers it did return are: -
Windows: Я всё сделал по инструкции, но PHP и сервер IIS не хотят работать вместе!
-
Когда я запускаю PHP как интерфейс CGI к веб-серверам IIS, PWS, OmniHTTPD или Xitami,
получаю ошибку: Security Alert! PHP CGI
cannot be accessed directly.. -
Как я могу понять, что файл php.ini найден и используется? Складывается впечатление,
что вносимые изменения игнорируются. -
Как добавить директорию PHP в переменную PATH в Windows?
-
Как в Windows я могу сделать файл php.ini доступным для PHP?
-
Windows: Как при работе PHP с веб-сервером IIS проверить,
что для PHP открыт доступ на запись в каталог временных файлов? -
Можно ли использовать согласование контента Apache, которое настраивается опцией MultiViews,
с PHP? -
Ограничили ли PHP обработкой только HTTP-методов GET и POST?
-
Почему лучше не пользоваться веб-сервером Apache2 с многопоточным модулем MPM (event, worker)
в производственной среде? -
PHP — связующее звено. Это связующее звено помогает создавать крутые веб-приложения
путём объединения десятков сторонних библиотек в единое целое
за счёт интуитивно понятного и простого в освоении языкового интерфейса.
Гибкость и сила PHP основана на стабильности и устойчивости, лежащей в основе платформы.
Чтобы всё работало, нужна рабочая операционная система, рабочий
веб-сервер и рабочие сторонние библиотеки. Когда один элемент перестаёт
работать, PHP нуждается в способах выявления и безотлагательного исправления проблем.
И когда разработчик усложняет базовый фреймворк тем, что не изолирует
исполняемые потоки и сегменты памяти, и не даёт потокам отдельных
изолированных «песочницы», — ослабляется вся PHP-система.Посмотрите на конфигурацию протокола FastCGI,
в которой PHP выполняется в своём пространстве памяти,
если требуется подключить многопоточный модуль MPM.
-
ОС Unix и Windows: Где искать файл php.ini?
-
По умолчанию в Unix файл лежит в каталоге /usr/local/lib,
который соответствует пути <установочный-путь>/lib.
Этот путь разрешается изменять в момент компиляции через флаг
—with-config-file-path
Например, так:--with-config-file-path=/etc
А затем скопировать файл php.ini-development из дистрибутива
по пути /etc/php.ini и внести в него необходимые изменения.--with-config-file-scan-dir=PATH
В ОС Windows путь к файлу php.ini по умолчанию — путь
к директории Windows. При работе с веб-сервером Apache файл php.ini
лежит по пути: ?\program files\apache group\apache\.
Поэтому для разных версий Apache на одном компьютере разрешается создавать разные файлы php.ini.Смотрите также: файл настроек.
-
Unix: Я установил PHP, но при каждом открытии какого-либо документа
вижу «Document Contains No Data», что это значит? -
Это значит, что, возможно, PHP столкнулся с проблемой и падает в core-dump.
Просмотрите логи ошибок сервера, чтобы проверить это, а затем попытайтесь воспроизвести
цепочку шагов, которые привели к ошибке; например, создав отдельную тестовую программу.
И если вы умеете пользоваться отладчиком gdb, то это поможет получить стек вызовов функций (backtrace) для
включения его в отчёт об ошибке, чтобы упростить выявление причин проблемы
разработчикам. Следующие рекомендации бывают полезны, если PHP работает как модуль для веб-сервера Apache:-
Остановите httpd-процессы
-
gdb httpd
-
Вновь остановите httpd-процессы
-
> run -X -f путь_к_httpd.conf
-
Затем скопируйте URL-адрес, который вызвал проблему в браузере
-
> run -X -f путь_к_httpd.conf
-
О событиях core dump сообщит отладчик gdb
-
Введите bt
-
Включите backtrace в отчёт об ошибке и отправьте трассировку по адресу:
» https://github.com/php/php-src/issues
Проверьте, с одинаковыми ли пакетами обработки RegEx скомпилировали PHP и Apache,
если скрипт использует регулярные выражения наподобие тех, с которыми работает
функция preg_match() и подобные.
При работе PHP с веб-сервером Apache 1.3.x это выполняется автоматически. -
-
Unix: Я установил PHP через менеджер пакетов RPMS, но Apache не обрабатывает
PHP-страницы, в чём дело? -
Раскомментируйте или добавьте каждую или часть следующих строк в файл httpd.conf,
если и Apache, и PHP установили из RPM-пакетов:# Extra Modules AddModule mod_php.c AddModule mod_perl.c # Extra Modules LoadModule php_module modules/mod_php.so LoadModule php5_module modules/libphp5.so LoadModule perl_module modules/libperl.so
И добавьте:
AddType application/x-httpd-php .php
…в глобальные свойства или в свойства того виртуального домена VirtualDomain,
для которого требуется включить поддержку PHP.
-
Unix: Я исправил Apache модулем FrontPage и теперь PHP не работает.
Получается, PHP несовместим с модулями Apache FrontPage? -
Нет, PHP отлично работает с модулями FrontPage. Проблема в том, что
патч FrontPage изменяет ряд структур Apache, на которые полагается PHP.
Перекомпиляция PHP командой «make clean ; make» после установки патча FP решит
проблему.
-
Unix и Windows: Я установил PHP, но при попытке открыть PHP-файл
в браузере вижу пустой экран. -
Выберите в браузере опцию «Посмотреть исходный код» и, возможно, увидите свой PHP-код.
Это значит, что веб-сервер не передал скрипт интерпретатору PHP. Что-то
не так с конфигурацией сервера. Внимательно проверьте конфигурацию
сервера на соответствие инструкциям по установке PHP.
-
Unix и Windows: Я установил PHP, но когда пытаюсь посмотреть созданную PHP-страницу
в браузере, получаю ошибку 500. -
Что-то пошло не так, когда сервер попытался запустить PHP. Чтобы увидеть
исходную ошибку, которая возникла, в командной строке перейдите в директорию,
в которой лежит исполняемый файл PHP (php.exe в Windows),
и запустите команду php -i. Если есть какие-либо проблемы с
запуском PHP, будет выведена соответствующая ошибка, которая подскажет, что
надо исправить. Если вы увидите экран с HTML-кодом (вывод функции
phpinfo()), значит, PHP работает нормально, и проблема
связана с настройками веб-сервера.
-
Отдельные операционные системы: Я установил PHP без ошибок,
но когда пытаюсь запустить Apache, выводится ошибка:[mybox:user /src/php5] root# apachectl configtest apachectl: /usr/local/apache/bin/httpd Undefined symbols: _compress _uncompress
-
Это означает, что проблема не в PHP, а в клиентских библиотеках MySQL.
Часть библиотек требуют сборки PHP с опцией —with-zlib.
Этот нюанс описан в FAQ по MySQL.
-
Windows: Я установил PHP, но когда пытаюсь открыть страницу скрипта
в браузере, получаю ошибку:cgi error: The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
-
Это сообщение говорит о том, что PHP не справился с выводом данных в стандартный поток ввода-вывода.
Чтобы увидеть понятное сообщение об ошибке, в командной строке перейдите в директорию,
в которой лежит исполняемый файл PHP (php.exe в Windows),
и запустите команду php -i. PHP выведет ошибку, которая связана с запуском PHP
и которая подскажет, что требуется исправить. Экран с HTML-кодом, который вывела
функция phpinfo()), сообщит, что PHP работает нормально.Как только PHP заработает в командной строке, попробуйте снова получить доступ
к скрипту через браузер. Вероятные причины, по которым скрипт не сработает, состоят в следующем:-
Права на PHP-скрипт, файлы php.exe,
php5ts.dll, php.ini или модули PHP,
которые вы пытаетесь загрузить, не дают анонимному интернет-пользователю
ISUR_<machinename>
получить к ним доступ.
-
Файл скрипта отсутствует (или, возможно, лежит не там, где вы предполагали,
относительно корневого каталога веб-сервера). Обратите внимание, что на веб-сервере IIS
можно отловить ошибку, отметив опцию «check file exists» в настройках
«script mappings» в Internet Services Manager. Если файл отсутствует, сервер вместо
этого вернёт ошибку 404. Дополнительное преимущество состоит в том, что IIS будет выполнять
необходимую аутентификацию на основе разрешений NTlanMan в файле сценария.
-
-
Windows: Я всё сделал по инструкции, но PHP и сервер IIS не хотят работать вместе!
-
Убедитесь, что пользователи, которым может потребоваться запуск PHP-скрипта,
имеют права на запуск php.exe! Веб-сервер IIS использует анонимного
пользователя, который был создан при инсталляции. Этот пользователь должен иметь
права на запуск файла php.exe. Так же, каждый авторизованный
пользователь должен иметь права на запуск php.exe.
А для IIS4 нужно сказать, что PHP — это скриптовый движок.
Также прочтите этот FAQ.
-
Когда я запускаю PHP как интерфейс CGI к веб-серверам IIS, PWS, OmniHTTPD или Xitami,
получаю ошибку:Security Alert! PHP CGI
.
cannot be accessed directly. -
Вы должны установить опцию
cgi.force_redirect со значением0
.
По умолчанию она равна1
. Убедитесь, что она не закомментирована
символом;
. Как и остальные опции PHP, её настраивают в файле php.iniПоскольку опция по умолчанию равна
1
, критически важно убедиться,
что используется именно тот файл php.ini, который нужен.
Этот FAQ рассказывает об этом подробнее.
-
Как я могу понять, что файл php.ini найден и используется? Складывается впечатление,
что вносимые изменения игнорируются. -
Для проверки, какой именно файл php.ini подключается, запустите функцию
phpinfo(). В верхней части вывода будет список с названием
Configuration File (php.ini)
. Из него можно понять, какой
именно файл php.ini подключён. Если указана только директория в PATH,
а файл конфигурации не прочитан, то просто скопируйте его в эту директорию.
Если php.ini включён в переменную окружения PATH — это значит, что он прочитан.Если файл php.ini читается и PHP запускается как модуль, то после
внесения изменений в php.ini необходимо перезагрузить
веб-сервер.Также смотрите описание php_ini_loaded_file().
-
Как добавить директорию PHP в переменную PATH в Windows?
-
В Windows:
-
Старт → Панель Управления → Система
-
Перейдите на вкладку «Дополнительно»
-
Нажмите кнопку «Переменные Окружения»
-
Посмотрите раздел «Системные Переменные»
-
Найдите строку, которая содержит переменную PATH
-
Дважды щёлкните по ней мышью
-
Допишите в конец строки путь к исполняемому файлу PHP, не забыв добавить перед ним символ ‘;’
(например;C:\php
) -
Нажмите OK
Замечание:
Не забудьте перезагрузиться после описанных действий, а после перезагрузки
проверить, что переменная окружения PATH содержит нужный путь.
-
-
Как в Windows я могу сделать файл php.ini доступным для PHP?
-
Есть несколько способов сделать это. Если вы установили Apache,
обратитесь к документации Apache, иначе вы должны установить
переменную среды PHPRC.
-
Windows: Как при работе PHP с веб-сервером IIS проверить,
что для PHP открыт доступ на запись в каталог временных файлов? -
-
В Проводнике щёлкните правой кнопкой мыши на каталоге временных файлов — директория,
путь к которой хранит переменная %TEMP%, — чтобы через свойства открыть сведения о разрешениях.
Путь к каталогу временных файлов доступен из конфигурации или вывода
функции phpinfo(). -
Веб-сервер IIS будет работать правильно, если пользователю
IIS_User
предоставили разрешениеИзменение
.
-
-
Можно ли использовать согласование контента Apache, которое настраивается опцией MultiViews,
с PHP? -
Всё будет работать правильно, если ссылки на PHP-файлы содержат расширения.
Этот FAQ описывает конфигурацию, в которой ссылки не содержат расширения
и требуется согласовывать контент для PHP-файлов из URL-адреса.
СтрокуAddType application/x-httpd-php .php
заменяют на следующие, если это так:AddHandler php5-script php AddType text/html php
Это решение не сработает с Apache 1, поскольку модуль PHP не отлавливает
php-script
.
-
Ограничили ли PHP обработкой только HTTP-методов GET и POST?
-
Нет, можно обработать и другие методы запроса, например CONNECT.
Правильный статус ответа нужно посылать через функцию
header(). Если нужно, чтобы PHP работал только с
методами GET и POST, необходимо сконфигурировать Apache так:<LimitExcept GET POST> Deny from all </LimitExcept>
Нашли ошибку?
per dot fikse at ipj dot no ¶
19 years ago
Installing PHP 4 or 5 on Windows Server 2003 x64 results in http error 505. This is not a PHP bug. It is due to running a 32-bit ISAPI DLL under the 64-bit version of IIS 6, as documented here: http://support.microsoft.com/?id=895976
Solution: Flip the Metabase flag for Enable32bitAppOnWin64 as described in http://support.microsoft.com/?id=894435 ,
like this: CSCRIPT ADSUTIL.VBS SET W3SVC/AppPools/Enable32bitAppOnWin64 1
(Alternatively with full path: cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1)
charleslynch at xybersoftware dot com ¶
17 years ago
One final note to the message below if you are getting the message about not having rights to execute...You need to use IIS right click on the website and choose 'Properties/Home Directory' then on the 'Execute Permissions' combo box you need to choose 'Scripts only'...Click ok...another dialog may appear asking which directories to apply the action too...choose any directories that you intend on using php in and click ok...It should work now...
emzeperx at emzeper dot hu ¶
19 years ago
You do not have to restart the whole system make effect of changing the PATH env var. For me (sbs2003) worked automatically.
on older systems you can use
set $Path=%path%;c:\php
command to extend immediately the path var.
Curtis ¶
17 years ago
I have some additional troubleshooting tips for 53.7, which deals with getting a blank screen on your browser when running a PHP script.
In addition to server misconfiguration, it may also be that PHP isn't configured to output errors to the browser, which is the case if you or your host uses a more secure php.ini. If this is the case, you need to find out where errors are being logged to find out if any errors are preventing normal output from being delivered to the client.
If you have access to php.ini, check the 'display_errors' directive, which is, by default, located under the 'error_reporting' directive. It's helpful to have 'display_errors' on during debugging phases, but best to have it off in production environments.
Related functions: http://php.net/ini_set | http://php.net/error_reporting | http://php.net/error_log
joerg at fenin dot de ¶
17 years ago
To limit HTTP Request Methods on the Apache server running PHP you should use mod_rewrite or mod_security instead of LimitExcept, to give you more control over the handling of such http errors. Can go in .htaccess file or httpd.conf
# mod_rewrite
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST)$
RewriteRule .* - [F,L]
</IfModule>
# mod_security
<IfModule mod_security.c>
SecFilterSelective REQUEST_METHOD "!^(GET|HEAD|POST)$" "deny,log,status:403"
</IfModule>
You can use the php request method scanner at askapache to see exactly how your server deals with various request methods, and check that your server is configured properly..
http://www.askapache.com/online-tools/request-method-scanner/