Как установить php
Перейти к содержимому

Как установить php

  • автор:

Как установить php

Есть разные способы установки всего необходимого программного обеспечения. Мы можем устанавливать компоненты по отдельности, а можем использовать уже готовые сборки на подобие Denwer или EasyPHP. В подобных сборках компоненты уже имеют начальную настройку и уже готовы для создания сайтов. Однако рано или поздно разработчикам все равно приходится прибегать к установке и конфигурации отдельных компонентов, подключения других модулей. Поэтому мы будем устанавливать все компоненты по отдельности. В качестве операционной системы будет использоваться Windows.

Что подразумевает установка PHP? Во-первых, нам нужен интерпретатор PHP. Во-вторых, необходим веб-сервер, например, Apache, с помощью которого мы сможем обращаться к ресурсам создаваемого нами сайта.

Для установки PHP перейдем на офсайт разработчиков https://www.php.net/downloads. На странице загрузок мы можем найти различные дистрибутивы для операционной системы Linux. Если нашей операционной системой является Windows, то нам надо загрузить один из пакетов со страницы https://windows.php.net/download.

Загрузим zip-пакет последнего выпуска PHP, учитывая разрядность операционной системы, на которую надо установить PHP. Для 64-x разрядной:

Установка PHP на Windows

Для 32-x разрядной:

Установка PHP на Windows 32х

Интерпретатор PHP имеет две версии: Non Thread Safe и Thread Safe. В чем разниц между ними? Версия Thread Safe позволяет задействовать многопоточность, тогда как Non Thread Safe — однопоточная версия. Выбрем версию Thread Safe .

Распакуем загруженный архив в папку, которую назовем php . Пусть эта папка у нас будет располагаться в корне диска C.

Теперь нам надо выполнить минимальную конфигурацию PHP. Для этого зайдем в распакованный архив и найдем там файл php.ini-development .

Установка интерпретатора PHP на Windows

Это файл начальной конфигурации интерпретатора. Переименуем этот файл в php.ini и затем откроем его в текстовом редакторе.

Найдем в файле строку:

;extension_dir = "ext"

Эта строка указывает на каталог с подключаемыми расширениями для PHP. Расширения позволяют задействовать нам некоторую дополнительную функциональность, например, работу с базой данных. Все расширения находятся в распакованном каталоге ext .

Раскомментируем эту строку, убрав точку с запятой и укажем полный путь к папке расширений php:

extension_dir = "C:\php\ext"

Остальное содержимое файла оставим без изменений.

Теперь установим веб-сервер.

Как установить php

IIS является встроенным в Windows. На сервере Windows используйте Server Manager для добавления роли IIS. Убедитесь, что функция роли CGI включена. На рабочем столе Windows используйте панель «Установка и удаление программ» для добавления IIS. В документации Microsoft есть » подробные инструкции. Для настольных веб-приложений и веб-разработки можно также использовать IIS/Express или рабочий стол PHP.

Пример #1 Командная строка для настройки IIS и PHP

@echo off REM download .ZIP file of PHP build from http://windows.php.net/downloads/ REM path to directory you decompressed PHP .ZIP file into (no trailing \) set phppath=c:\php REM Clear current PHP handlers %windir%\system32\inetsrv\appcmd clear config /section:system.webServer/fastCGI REM The following command will generate an error message if PHP is not installed. This can be ignored. %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /-[name='PHP_via_FastCGI'] REM Set up the PHP handler %windir%\system32\inetsrv\appcmd set config /section:system.webServer/fastCGI /+[fullPath='%phppath%\php-cgi.exe'] %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /+[name='PHP_via_FastCGI',path='*.php',verb='*',modules='FastCgiModule',scriptProcessor='%phppath%\php-cgi.exe',resourceType='Unspecified'] %windir%\system32\inetsrv\appcmd set config /section:system.webServer/handlers /accessPolicy:Read,Script REM Configure FastCGI Variables %windir%\system32\inetsrv\appcmd set config -section:system.webServer/fastCgi /[fullPath='%phppath%\php-cgi.exe'].instanceMaxRequests:10000 %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHP_FCGI_MAX_REQUESTS',value='10000']" %windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/fastCgi /+"[fullPath='%phppath%\php-cgi.exe'].environmentVariables.[name='PHPRC',value='%phppath%\php.ini']"
Apache

Существует несколько версий Apache2 для Windows. Мы поддерживаем ApacheLounge, но другие варианты включают XAMPP, WampServer и BitNami, которые предоставляют средства автоматической установки. Вы можете использовать mod_php или mod_fastcgi для загрузки PHP на Apache. Если вы используете mod_php, необходимо использовать TS-build Apache, Visual C той же версии и тот же процессор (x86 или x64).

Выберите сборку

Скачайте PHP-релизы с » http://windows.php.net/download/. Все сборки оптимизированы ( PGO ), а выпуски QA и GA тщательно протестированы.

  • Thread-Safe(TS) — для одного процесса веб-служб, как Apache с mod_php
  • Non-Thread-Safe(NTS) — для служб IIS и других FastCGI веб-серверов (Apache с mod_fastcgi) рекомендуется и для сценариев командной строки
  • для x86 — для 32-разрядной версии
  • для x64 — для 64-разрядной версии

Установка PHP — PHP: Настройка окружения

Начнем с установки PHP и знакомства с REPL.

Если на вашем компьютере пока не стоит PHP, то выполните установку по нашей инструкции .

Теперь убедимся в том, что PHP установился и работает.

Откройте терминал и наберите в нем команду php -v . Вывод должен быть примерно такой:

# Вывод может отличаться # Главное, чтобы не было ошибок php -v PHP 8.2.5 (cli) (built: Apr 19 2023 20:22:48) (NTS) Copyright (c) The PHP Group Zend Engine v4.2.5, Copyright (c) Zend Technologies 

Интерактивный запуск кода

Если все прошло удачно, то теперь самое время запустить код на PHP.

PHP поставляется со встроенным REPL (Read Eval Print Loop). REPL (Read Eval Print Loop) — это программа, которая работает как командная оболочка. Она:

  • Ожидает ввод от пользователя (Read)
  • Выполняет введенный код (Eval)
  • Печатает на экран результат (Print)
  • Затем снова входит в режим ожидания (Loop)

Чтобы запустить REPL, наберите команду php -a :

-a Interactive mode enabled php > 

Теперь вы можете выполнять код на PHP и сразу же смотреть на результат его выполнения. Наберите любой корректный код на PHP — например, такой:

> echo 10 + 5; 15 

REPL выводит результат выполнения операции прямо на экран и снова входит в режим ожидания ввода команд. Для выхода из REPL достаточно нажать Ctrl + C . Если вы ошиблись при вводе команды, то всегда можно выйти и зайти снова.

Такой способ помогает быстро проверять гипотезы, отлаживать код и делать простые вычисления.

REPL позволяет использовать переменные и запоминает предыдущий ввод:

> $a = 5; php > $b = 10; php > echo $a + $b; 15 

Чтобы учиться эффективнее, постоянно применяйте теорию на практике. Внимательно изучайте код в курсах, набирайте все примеры вручную и запускайте их на своем компьютере. Только так вы действительно поймете, что происходит.

В тех случаях, когда REPL недостаточно, код можно и нужно запускать в виде файлов.

Для этого создайте файл с любым именем и расширением php — например, index.php. Затем запустите его:

cat index.php echo 'Hexlet one love.'; php index.php Hexlet one love. 

Обратите внимание, что запускать код нужно из той же директории, в которой лежит файл index.php. Чтобы запустить код из другой директории, нужно указывать путь до файла.

Пример установки и запуска PHP на Ubuntu

Расширения

Некоторые части PHP, которые описаны в официальной документации, поставляются в язык как расширения. Они помогают работать с базами данных, с форматами (XML) и даже архиваторами. Их общий список включает в себя около сотни различных расширений.

Большая часть этих расширений не используется напрямую — но их используют библиотеки, которые мы собираемся устанавливать. Это значит, что мы должны научиться распознавать, какого расширения не хватает и как его поставить.

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов

Наши выпускники работают в компаниях:

Как установить PHP на Linux

Настроить рабочее окружение для разработки на PHP в Linux возможно несколькими способами. Рассмотрим один из наиболее быстрых: настройка связки PHP и nginx.

Запустите приложение «Терминал». Ярлык на запуск доступен в менеджере приложений. Сначала обновим локальный индекс пакетов APT.

sudo apt-get update 

Настройка веб-сервера

Для работы с PHP нам потребуется веб-сервер. В репозиториях доступно несколько популярных веб-серверов, мы отдадим предпочтение nginx. Он хорошо работает и легко настраивается.

sudo apt-get install nginx 

Затем запустим nginx. Запомните эту команду. Она пригодится для добавления новых виртуальных хостов.

sudo service nginx start 

nginx установлен и теперь нам требуется выполнить базовое конфигурирование. Наша цель — создать новый виртуальный хост, который будет доступен по адресу yourproject.local , где вместо yourproject может быть название вашего проекта.

Например: doingsdone.local , yeticave.local .

Обратите внимание, имена доменов не могут содержать пробелы. Определитесь с именем домена (далее «имя хоста для проекта»). Мы будем ориентироваться на проект yeticave.local , поэтому именно так будем называть конфигурационный файл. Перейдите в директорию sites-available . В этой директории nginx хранит конфигурационные файлы всех виртуальных хостов.

cd /etc/nginx/sites-available 

Чтобы увидеть список всех доступных виртуальных хостов, выведите содержимое каталога:

ls -all 

Название конфигурационного файла должно совпадать с именем хоста. Поскольку мы планируем сделать конфигурационный файл для хоста yeticave.local , нам потребуется создать файл yeticave.local . Сделаем это:

sudo touch yeticave.local 

Файл готов, теперь откроем его в консольном редакторе nano (установлен по умолчанию в большинстве современных дистрибутивов) и опишем минимальную конфигурацию.

sudo nano yeticave.local 

Скопируйте в открытый файл yeticave.local ниже приведённый конфигурационный файл. Информацию обо всех непонятных строках вы сможете почерпнуть из официальной документации к nginx.

server < # Наш проект будет доступен на 80 порту listen 80; # Имя виртуального хоста server_name yeticave.local; # Корневая директория проекта. root /home/administrator/www/yeticave.local; # Имя индексного файла. index index.php; # Настройки отдачи файлов location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ < access_log off; expires max; log_not_found off; >location / < try_files $uri $uri/ /index.php?$query_string; >location ~* \.php$ < try_files $uri = 404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; >location ~ /\.ht < deny all; >> 

Обратите внимание на номер версии PHP. На момент написания статьи в репозиториях Ubuntu доступна версия 8.1. Если вы пользуетесь более старой версией ОС, то не забудьте обновить номер версии на свой.

Важно: в нашем конфиге файлы находятся в домашней директории пользователя Administrator . Ваше имя пользователя наверняка отличается, поэтому обратите на это внимание при написании пути.

Для сохранения изменений в файле нажмите комбинацию клавиш ctrl+o. Затем закройте редактор nano сочетанием клавиш ctrl+x.

Протестируем созданный конфигурационный файл на наличие ошибок:

sudo nginx -t 

Мы создали конфигурационный файл. Теперь активируем только что созданный виртуальный хост. Для этого перейдём в директорию sites-enabled и создадим в ней символическую ссылку на наш конфигурационный файл.

cd /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/yeticave.local 

Если на текущем шаге попытаться открыть браузер и ввести в адресной строке http://yeticave.local , то ничего, кроме ошибки «Сервер не найден», мы не увидим. Исправим проблему добавлением новой записи в hosts :

sudo nano /etc/hosts 

В самом начале файла добавьте строку:

127.0.0.1 yeticave.local 

Обратите внимание, мы пишем только доменное имя без указания протокола (http). Сохраняем изменения ctrl+o и закрываем редактор nano сочетанием клавиш ctrl+ x.

Установка PHP

Последним компонентом в настройке рабочего окружения станет PHP.

Для начала давайте добавим новый репозиторий, который понадобится для установки свежей версии PHP. Этот репозиторий является официальным источником PHP-пакетов для Debian и Ubuntu:

sudo add-apt-repository ppa:ondrej/php 

В окне терминала введите команду для установки php-fpm из репозитория.

sudo apt install php-fpm php-cli php-common php-json php-mysql php-phpdbg php-mbstring php-imap php-dev php-curl php-xdebug 

Важно: обязательно обратите внимание на версию PHP. В зависимости от дистрибутива она может отличаться. Если номер версии отличается от той, что мы указали в конфигурационном файле yeticave.local , то необходимо её исправить.

Настройка xdebug

Вводим команду редактирования файла:

sudo nano /etc/php/8.1/mods-available/xdebug.ini 

Добавляем в файл конфигурацию для xdebug:

xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.var_display_max_depth = -1 xdebug.var_display_max_children = -1 xdebug.var_display_max_data = -1 xdebug.idekey = "PHPSTORM": 

Сохраняем изменения ctrl+o и закрываем редактор nano ctrl+x.

Внесём изменения в конфигурационный файл php, чтобы он выводил все ошибки в браузер, а не только в лог-файл.

sudo nano /etc/php/8.1/fpm/php.ini 

Найдём, раскомментируем (уберём знак «;» или исправим значение) и установим значения для строк:

display_errors = On display_startup_errors = On error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 

Сохраняем изменения ctrl+o, закрываем редактор ctrl+x.

Запускаем php-fpm . Выполняем команды:

sudo service php8.1-fpm stop sudo service php8.1-fpm start 

Размещаем файлы проекта в директорию проекта. Директорию проекта вы указали в секции root , конфигурационного файла yeticave.local . Выставляем права:

sudo chmod -R 755 /home/administrator/www/yeticave.local 

Открываем браузер и пробуем обратиться к http://yeticave.local.

«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.

Читать дальше

Как работает протокол HTTP

Как работает протокол HTTP

HTTP был разработан в 1990-х годах для создания первого интерактивного текстового веб-браузера. За эти годы протокол менялся и совершенствовался, становился более гибким и постепенно превратился в современный интернет. В статье рассмотрим принцип работы протокола и что важно знать о нём разработчику.

  • 8 февраля 2023

10 популярных функций в MYSQL, которые вам нужно знать

10 популярных функций в MYSQL, которые вам нужно знать

Без лишних слов принесли вам некоторые популярные функции MySQL, без которых вы точно не обойдётесь в работе.

  • 17 января 2023

Подключение файлов в PHP. Метод require()

Подключение файлов в PHP. Метод require()

Способность вызывать сценарий из отдельного файла по его имени называется в PHP подключением файлов. Подключают PHP-сценарии, любые текстовые файлы или HTML-страницы.

  • 21 ноября 2022

Массивы в PHP

Массивы в PHP

Массив — это ещё один тип данных, вроде числа или строки. Главное отличие массива от остальных типов данных заключается в его способности хранить в переменной больше одного значения. В предыдущих примерах имя переменной всегда ассоциировалось только с одним значением:

  • $name = «Иннокентий»
  • $age = 42

А если мы хотим узнать не только пол, имя и возраст пользователя, но и, допустим, любимые сериалы? Очень непросто назвать один самый любимый сериал, а вот вспомнить несколько — намного легче. Сохранение в переменную-массив нескольких значений выглядит так:

 $fav_shows = ["game of thrones", "american horror story", "walking dead"]; 

В этом примере мы сохранили в переменной $fav_shows сразу три значения. Но сохранить эти данные — это только половина дела. Как с ними потом работать? Уже знакомый вам способ вывода переменной на экран не будет работать с массивами:

Так увидеть список любимых сериалов не получится. Дело в том, что массив — это не обычная переменная. Массив хранит не простые типы, вроде текста или чисел (их ещё называют «скалярными типами»), а более сложную структуру данных, поэтому здесь нужен особый подход.

Внутри массива у каждого значения есть адрес, по которому к нему можно обратиться. Такой адрес называется индексом. Индекс — это просто порядковый номер значения внутри массива. Индексация начинается с нуля, так что первый элемент получает индекс — 0 , второй — 1 , и так далее.

Чтобы получить определенный элемент массива, необходимо знать его индекс (ключ). Напечатаем названия всех сериалов из массива через запятую:

Теперь можно дать определение массива: Массив — это совокупность множества элементов вида «ключ: значение».

Массивы позволяют перезаписывать существующие значения и добавлять новые. Добавить новое значение в массив можно так:

$fav_shows[] = "the big bang theory"; 

Новый элемент автоматически получит индекс равный максимальному индексу из существующих + 1. «Теория большого взрыва» сохранится в массиве под индексом 3 .

Если нам перестал нравиться один из сериалов, так как новый сезон оказался очень плох или появился новый фаворит, значения в массиве можно заменить. Чтобы вычеркнуть старое значение и заменить его новым, нужно присвоить новое значение любому из существующих в массиве индексов:

$fav_shows[4] = "fargo"; 

Для полного удаления (без замены на другое) значения по его индексу существует функция unset :

unset($fav_shows[4]); 
  • 10 ноября 2022

Синтаксис PHP

Синтаксис PHP

Разберёмся, из чего состоит любой язык программирования.

У каждого языка есть правила и конструкции, следуя которым мы выражаем мысли и делаем их понятными для другого человека. В программировании всё точно так же. Но вместо человеческого языка мы используем язык программирования PHP, а в роли нашего собеседника выступает PHP-интерпретатор. Поэтому, чтобы выразить свою мысль, мы должны сделать её понятной для интерпретатора.

  • 27 октября 2022

Массивы $_POST и $_GET в PHP. Обработка форм

Формы — это часть языка HTML. Формы нужны для передачи данных от клиента на сервер. Чаще всего формы используются для регистрации пользователей, заполнения анкет, оформления заказа в интернет магазине, и так далее.

Через формы можно отправлять как простую текстовую информацию, так и файлы.

Большую часть времени программирования на PHP вы будете так или иначе работать с формами и данными из них.

HTML описывает то, из каких элементов состоит форма, и как она выглядит. Но без принимающей стороны, то есть сервера, который принимает эти данные и обрабатывает их нужным образом, создавать формы нет никакого смысла.

PHP содержит множество средств для работы с формами. Это позволяет очень просто решать типичные задачи, которые часто возникают в веб-программировании:

  • Регистрация и аутентификация пользователя;
  • Отправка комментариев на форумах и социальных сетях;
  • Оформление заказов.

Практически любой современный сайт содержит как минимум несколько разных HTML-форм.

  • 20 октября 2022

Учебник по PHP

Учебник по PHP

  1. Знакомство с языком
    • Что такое PHP
    • Синтаксис PHP
    • Массивы
    • Циклы
    • Функции
  2. Шаблонизация и подключение файлов
    • Подключение файлов
    • Шаблонизация
  3. Протокол HTTP и формы
    • Протокол HTTP
    • Формы
    • Уязвимости
  4. Идентификация пользователя на сайте
    • Аутентификация пользователя
  5. Базы данных
    • База данных
    • SQL
    • MySQL в PHP
    • Безопасность в MySQL
  6. Объекты и использование библиотек
    • Объекты
    • Библиотеки
    • Composer
  • 10 сентября 2022

Протокол HTTP и работа с заголовками

Протокол HTTP и работа с заголовками

Весь современный веб построен на модели взаимодействия клиента и сервера. Как она работает:

  • браузер пользователя (клиент) отправляет на сервер запрос с адресом сайта (URL);
  • сервер получает запрос и отдаёт клиенту запрошенный контент.

Для реализации процесса используется универсальный протокол HTTP.

  • 10 сентября 2022

Защита от SQL-инъекций

Защита от SQL-инъекций

Внедрение SQL-кода (SQL инъекция) — один из распространённых способов взлома сайтов, работающих с базами данных. Способ основан на внедрении в запрос произвольного SQL-кода. Внедрение SQL позволяет хакеру выполнить произвольный запрос к базе данных (прочитать содержимое любых таблиц, удалить, изменить или добавить данные).

Атака этого типа возможна, когда недостаточно фильтруются входные данные при использовании в SQL-запросах.

  • 10 сентября 2022

Объекты и классы в PHP

Объекты и классы в PHP

Объекты в PHP — это просто ещё один тип данных. Объект позволяет хранить в переменной набор из свойств и их значений, а также встроенные функции. Это делает объекты похожими по своей структуре на ассоциативные массивы. Но отличие от массивов всё-таки есть, и при этом достаточно важное — объекты могут иметь внутреннее состояние.

  • 10 сентября 2022

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *