Как установить PHP (в картинках) · GitHub
Этот урок переехал в репозиторий с черновиками: https://github.com/codedokode/pasta/blob/master/soft/php-install.md
Ниже — старая, неподдерживаемая версия.
Ты можешь установить интерпретатор PHP себе на компьютер. Это позволит тебе запускать у себя программы. В отличие от сервисов типа ideone, ты можешь запускать программы без ограничения по размеру и времени работы, можешь читать/сохранять данные в файл, можешь работать с сетью и интернетом.
В инструкции упоминается командная строка. Если ты с ней не работал, можешь почитать мой краткий курс молодого бойца на эту тему: https://gist.github.com/codedokode/10539568
Обрати внимание, на Windows XP можно поставить максимум PHP5.4 (и Apache 2.2). Для более новых версий надо обновиться.
Обрати внимание, инструкция немного устарела. Теперь страница скачивания бинарников под Windows находится тут: http://windows.php.net/download/ x86 — версия для 32-битной ОС, x64 — 64-битная версия (она не очень проверенная, если не заработает — придется ставить 32-битную).
Вот, таким образом ты можешь установить PHP и запускать скрипты из командной строки. Учти, что во многих IDE (PhpStorm, Netbeans PHP) эта возможность уже встроена и в них программу можно просто запускать нажатием одной клавиши.
Также, тебе может захотеться запускать программы на PHP не только из командной строки, но и через браузер. Для этого нужен веб-сервер — программа, которая взаимодействует с браузером и отвечает на его запросы (веб-сервер принимает запрос на загрузку страницы от браузера и запускает нужный PHP скрипт, а результат работы отдает обратно в браузер). Обычно для этого ставят Апач, но для начала тебе вполне хватит встроенного в PHP сервера. Чтобы запустить его, перейди в папку со своими PHP файлами:
d:
cd \phpfiles\my\files\
(Естественно, надо подставить в эти команды имя диска и папки где у тебя на самом деле хранятся файлы). После этого запускай PHP в режиме сервера (то есть он запустится и будет ждать запросов от браузера):
"c:\php\php.exe" -S localhost:9091
-S
обозначает «запуститься в режиме сервера». Надо написать именно заглавную S, c маленькой буквой не заработает. localhost
обозначает принимать соединения только со своего компьютера, и не принимать соединения с других устройств (если хочешь чтобы твой сервер был доступен во всей локальной сети, пиши вместо localhost
адрес 0.0.0.0
— после этого к тебе можно будет зайти по ip и что-нибудь набить).
9091
— это номер порта, на котором сервер будет ждать соединения от браузера. Если произойдет ошибка и будет написано что этот порт уже занят, введи другое число (от 1 до 65534), например
.
После того, как сервер запущен, ты можешь запускать программы в той папке через браузер. Для этого набери в нем http://localhost:9091/test. php
— должен будет запуститься скрипт test.php и его результат работы отобразится в браузере (а в консоли ты увидишь строчку с его названием, и сообщения об ошибках если таковые будут).
Если ты расшарил сервер на всю сеть, указав адрес 0.0.0.0
при запуске, то можешь зайти на него с другого устройства, указав IP компьютера: http://10.2.3.4:9091/test.php
. Если у тебя есть роутер то с 0.0.0.0
Ты можешь запустить несколько серверов в нескольких консолях, если вдруг понадобится, но не забудь указать каждому свой уникальный номер порта.
Для завершения работы сервера нажми в консоли Ctrl + C
(если ты читал мой гайд по командной строке то и так знаешь, что эта комбинация клавиш завершает выполняющуюся программу).
php_bz2. dll | Функции сжатия bzip2 | — |
php_calendar.dll | Функции преобразования календарей | — |
php_crack.dll | Функции Crack | — |
php_ctype.dll | Семейство функций ctype | — |
php_curl.dll | Функции библиотеки CURL | Требует библиотеки libeay32.dll, ssleay32.dll (в комплекте дистрибутива PHP) |
php_dba.dll | DBA: функции абстрактного слоя DataBase (dbm-стиль) | — |
php_dbase.dll | Функции dBase | — |
php_dbx.dll | Функции dbx | — |
php_exif.dll | Функции EXIF | Требуется библиотека
php_mbstring.dll. Библиотека |
php_fbsql. dll | Функции FrontBase | — |
php_fdf.dll | FDF: функции формата данных «Forms Data Format» | Требуется библиотека fdftk.dll (в комплекте дистрибутива PHP) |
php_filepro.dll | Функции filePro | Доступ только для чтения |
php_ftp.dll | Функции FTP | — |
php_gd2.dll | Библиотека функций обработки изображений GD | GD2 |
php_gettext.dll | Функции Gettext | В PHP версий <= 4.2.0 требуется библиотека gnu_gettext.dll (в комплекте дистрибутива PHP), в PHP версий >= 4.2.3 требуется библиотека libintl-1.dll и iconv.dll (в комплекте дистрибутива PHP). |
php_hyperwave.dll | Функции HyperWave | — |
php_iconv.dll | Функции конвертации кодировок ICONV | Требуется библиотека iconv-1. |
php_ifx.dll | Функции Informix | Требуются библиотеки Informix |
php_iisfunc.dll | Функции управления IIS | — |
php_imap.dll | Функции IMAP POP3 и NNTP | — |
php_ingres.dll | Функции Ingres | Требуются библиотеки Ingres |
php_interbase.dll | Функции InterBase | Требуется библиотека gds32.dll (в комплекте дистрибутива PHP) |
php_ldap.dll | Функции LDAP | |
php_mbstring.dll | Функции для работы с многобайтовыми (Multi-Byte) строками | — |
php_mcrypt.dll | Функции кодирования Mcrypt | Требуется библиотека libmcrypt. dll |
php_mhash.dll | Функции Mhash | Требуется библиотека libmhash.dll (в комплекте дистрибутива PHP) |
php_mime_magic.dll | Функции Mimetype | Требуется файл magic.mime (в комплекте дистрибутива PHP) |
php_ming.dll | Функции Ming для Flash | — |
php_msql.dll | Функции mSQL | Требуется библиотека msql.dll (в комплекте дистрибутива PHP) |
php_mssql.dll | Функции MSSQL | Требуется библиотека ntwdblib.dll (в комплекте дистрибутива PHP) |
php_mysql.dll | Функции MySQL | Требуется библиотека libmysql.dll (в комплекте дистрибутива PHP) |
php_mysqli.dll | Функции MySQLi | Требуется библиотека libmysql.dll (libmysqli.dll в PHP версий <= 5.0. |
php_oci8.dll | Функции Oracle 8 | Требуются клиентские библиотеки Oracle 8.1+ |
php_openssl.dll | Функции OpenSSL | Требуется библиотека libeay32.dll (в комплекте дистрибутива PHP) |
php_pdf.dll | Функции PDF | — |
php_pgsql.dll | Функции PostgreSQL | — |
php_shmop.dll | Функции для работы с разделяемой памятью | — |
php_snmp.dll | Функции для использования протокола SNMP | Только на Windows NT! |
php_soap.dll | Функции SOAP | — |
php_sockets.dll | Функции для работы с сокетами | — |
php_sybase_ct.dll | Функции Sybase | Требуются клиентские библиотеки Sybase |
php_tidy.dll | Функции Tidy | — |
php_tokenizer. dll | Функции Tokenizer | — |
php_w32api.dll | Функции W32api | — |
php_xmlrpc.dll | Функции XML-RPC | Требуется библиотека iconv.dll (в комплекте дистрибутива PHP) |
php_xslt.dll | Функции XSLT | Требуются библиотеки sablot.dll, expat.dll, iconv.dll (в комплекте дистрибутива PHP). |
php_yaz.dll | Функции YAZ | Требуется библиотека yaz.dll (в комплекте дистрибутива PHP) |
php_zip.dll | Функции для работы с файлами Zip | Доступ только для чтения |
php_zlib.dll | Функции сжатия ZLib | — |
Установка PHP и модулей на Ubuntu/Debian
PHP
В Debian и Ubuntu есть несколько вариантов работы php: как модуль apache и как php-fpm. Первый вариант удобен тем, кому придется использовать не только сам PHP, но и возможности Apache, такие как . htaccess. Второй же вариат удобен например для Yii или Laravel.
Установка PHP 5 как модуля Apache:
apt-get update apt-get install libapache2-mod-php5 php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как модуля Apache:
apt-get update apt-get install libapache2-mod-php7.0 php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
Установка PHP 5 как PHP-FPM:
apt-get update apt-get install php5-fpm php5-cli php5-memcache php5-memcached php5-mysql php5-pgsql php5-curl php5-gd php5-imagick php5-intl php5-mcrypt
Установка PHP 7 как PHP-FPM
apt-get update apt-get install php7.0-fpm php7.0-curl php7.0-cli php-memcache php-memcached php7.0-mysql php7.0-pgsql php7.0-gd php7.0-imagick php7.0-intl php7.0-mcrypt
Модули
В Debian и Ubuntu зачастую установка модулей PHP не требует каких-то сложных манипуляций. Для того, чтобы посмотреть, что Вы можете поставить прямо сейчас, нужно сделать:
lynx@lnxdsk:~$ apt-cache search php7.0 php-amqp - AMQP extension for PHP php-apcu - APC User Cache for PHP php-all-dev - package depending on all supported PHP development packages php-gearman - PHP wrapper to libgearman php-geoip - GeoIP module for PHP php-gmagick - Provides a wrapper to the GraphicsMagick library php-gnupg - PHP wrapper around the gpgme library php-igbinary - igbinary PHP serializer php-imagick - Provides a wrapper to the ImageMagick library php-libsodium - PHP wrapper for the Sodium cryptographic library php-mailparse - Email message manipulation for PHP php-memcache - memcache extension module for PHP php-memcached - memcached extension module for PHP, uses libmemcached php-mongodb - MongoDB driver for PHP php-msgpack - PHP extension for interfacing with MessagePack php-oauth - OAuth 1.0 consumer and provider extension php-http - PECL HTTP module for PHP Extended HTTP Support php-pinba - Pinba module for PHP php-propro - propro module for PHP php-radius - radius client library for PHP php-raphf - raphf module for PHP php-redis - PHP extension for interfacing with Redis php-rrd - PHP bindings to rrd tool system php-smbclient - PHP wrapper for libsmbclient php-solr - PHP extension for communicating with Apache Solr server php-ssh3 - Bindings for the libssh3 library php-stomp - Streaming Text Oriented Messaging Protocol (STOMP) client module for PHP php-uploadprogress - file upload progress tracking extension for PHP php-uuid - PHP UUID extension php-yac - YAC (Yet Another Cache) for PHP php-yaml - YAML-1. 1 parser and emitter for PHP php-zmq - ZeroMQ messaging bindings for PHP php7.0 - server-side, HTML-embedded scripting language (metapackage) php7.0-bcmath - Bcmath module for PHP php7.0-bz2 - bzip2 module for PHP php7.0-cgi - server-side, HTML-embedded scripting language (CGI binary) php7.0-cli - command-line interpreter for the PHP scripting language php7.0-common - documentation, examples and common module for PHP php7.0-curl - CURL module for PHP php7.0-dba - DBA module for PHP php7.0-dev - Files for PHP7.0 module development php7.0-enchant - Enchant module for PHP php7.0-fpm - server-side, HTML-embedded scripting language (FPM-CGI binary) php7.0-gd - GD module for PHP php7.0-gmp - GMP module for PHP php7.0-imap - IMAP module for PHP php7.0-interbase - Interbase module for PHP php7.0-intl - Internationalisation module for PHP php7.0-json - JSON module for PHP php7.0-ldap - LDAP module for PHP php7.0-mbstring - MBSTRING module for PHP php7.0-mcrypt - libmcrypt module for PHP php7.0-mysql - MySQL module for PHP php7. 0-odbc - ODBC module for PHP php7.0-opcache - Zend OpCache module for PHP php7.0-pgsql - PostgreSQL module for PHP php7.0-phpdbg - server-side, HTML-embedded scripting language (PHPDBG binary) php7.0-pspell - pspell module for PHP php7.0-readline - readline module for PHP php7.0-recode - recode module for PHP php7.0-snmp - SNMP module for PHP php7.0-soap - SOAP module for PHP php7.0-sqlite3 - SQLite3 module for PHP php7.0-sybase - Sybase module for PHP php7.0-tidy - tidy module for PHP php7.0-xml - DOM, SimpleXML, WDDX, XML, and XSL module for PHP php7.0-xmlrpc - XMLRPC-EPI module for PHP php7.0-xsl - XSL module for PHP (dummy) php7.0-zip - Zip module for PHP
Давайте для примера установим GD для работы с изображениями:
lynx@lnxdsk:~$ sudo apt-get install php7.0-gd Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Заметьте, вместо «php7.0-gd» выбирается «php-gd» НОВЫЕ пакеты, которые будут установлены: php-gd обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 148 пакетов не обновлено. Необходимо скачать 350 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 1 493 kB. Пол:1 http://mirror.mephi.ru/debian stretch/main amd64 php-gd amd64 2.5.0-1 [350 kB] Получено 350 kБ за 0с (2 266 kБ/c) Выбор ранее не выбранного пакета php-gd. (Чтение базы данных … на данный момент установлено 61175 файлов и каталогов.) Подготовка к распаковке …/php-gd_2.5.0-1_amd64.deb … Распаковывается php-xdebug (2.5.0-1) … Настраивается пакет php-xdebug (2.5.0-1) … После установки нам нужно перезапустить apache (эти примеры я показываю от пользователя root):
root@lnxdsk:~# service apache2 restart
Либо php-fpm, смотря, что используете Вы:
root@lnxdsk:~# service php7.0-fpm restart
Чтобы посмотреть список модулей php, который прямо сейчас подключен, можно запустить:
lynx@lnxdsk:~$ php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dba dom ereg exif fileinfo filter ftp gd gettext hash iconv intl json libxml mbstring mhash mysql mysqli openssl pcntl pcre PDO pdo_mysql pdo_pgsql pgsql Phar posix readline Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xdebug xml xmlreader xmlwriter Zend OPcache zip zlib [Zend Modules] Xdebug Zend OPcache
Как установить PHP 7 на CentOS 7, установка и обновление версии PHP
Попробуйте свежую версию PHP 7 — она подойдёт для ОС семейства Linux. В статье мы поможем разобраться, что к чему: расскажем о новой версии PHP — её плюсах и минусах, покажем, как обновить PHP на Centos 7 и как проходит установка PHP 7 Centos.
PHP (Hypertext Preprocessor) — это серверный язык программирования, который создали специально для веб-разработки (сайтов, веб-приложений и других проектов). Его главное преимущество перед другими языками — возможность внедрить PHP-код непосредственно в HTML.
Чтобы повысить производительность и сократить потребление памяти, код ранних версий PHP регулярно перерабатывается. На сегодняшний день самая свежая версия — PHP 7. Если вы хотите установить PHP 7, стоит учитывать особенности новой версии.
Плюсы установки PHP 7
- Производительность может увеличиться от 30 до 70%: это зависит от вашего проекта и дополнительных требований к нему,
- кроссплатформенность: сайты и приложения можно создавать как на операционных системах Windows и MacOS, так и на Linux-сервере,
- PHP 7 поддерживают популярные CMS: WordPress, Zend, Yii, Symfony и другие.
Минусы установки PHP 7
- Нужна донастройка или переустановка PHP MySQL,
- из языка удалили расширения:
interbase
,pdo_dblib
,sybase_ct
,oci8
,pdo_oci
, - теперь нельзя работать с тегами:
- непривычный синтаксис работы с возвращаемыми методами данных.
Ниже рассмотрим, как обновить версию PHP до самой актуальной и как установить PHP 7 на CentOS 7 с нуля.
Как установить PHP 7 на Centos 7
В руководстве ниже мы покажем, как установить PHP из репозитория Remi.
- 1.
Перед установкой репозитория Remi добавьте репозиторий Epel:
- 2.
Теперь добавьте репозиторий Remi командой:
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Чтобы посмотреть доступные к установке репозитории, введите:
ls /etc/yum. repos.d/remi*
Вывод: Centos настройки PHP
- 3.
Установите репозиторий из webtatic.com:
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
- 4.
Если на вашем компьютере уже есть старая версия PHP, сделайте обновление версии командой:
Если вы устанавливаете PHP впервые, добавьте пакеты:
yum install php php-mcrypt php-cli php-gd php-curl php-mysql php-ldap php-zip php-fileinfo
Затем установите версию PHP 7:
Где 74 — версия PHP.
- 5.
Проверьте установку командой:
Вывод: Centos install PHP 7
org/HowToStep»>
6.
Если вы планируете использовать сетевой сокет Nginx, введите:
sudo systemctl restart php-fpm
Если вы используете файловый сокет Nginx, пропишите актуальный путь к новому сокету. Если вы планируете работать с HTTPD Apache, дополнительных настроек не требуется.
Готово, вы установили PHP 7 на Centos 7 по инструкции.
Помогла ли вам статья?1 раз уже помогла
Первое знакомство: Установка Yii | Полное руководство по Yii 2.0
Вы можете установить Yii двумя способами: используя Composer или скачав архив. Первый способ предпочтительнее так как позволяет установить новые расширения или обновить Yii одной командой.
Примечание: В отличие от Yii 1, после стандартной установки Yii 2 мы получаем как фреймворк, так и шаблон приложения.
Установка при помощи Composer ¶
Установка Composer ¶
Если Composer еще не установлен это можно сделать по инструкции на getcomposer.org, или одним из нижеперечисленных способов. На Linux или Mac используйте следующую команду:
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
На Windows, скачайте и запустите Composer-Setup.exe.
В случае возникновения проблем читайте раздел «Troubleshooting» в документации Composer. Если вы только начинаете использовать Composer, рекомендуем прочитать как минимум раздел «Basic usage».
В данном руководстве предполагается, что Composer установлен глобально.
То есть он доступен через команду composer
. Если вы используете composer.phar
из локальной директории,
изменяйте команды соответственно.
Если у вас уже установлен Composer, обновите его при помощи composer self-update
.
Примечание: Во время установки Yii Composer запрашивает довольно большое количество информации через Github API. Количество запросов варьируется в зависимости от количества зависимостей вашего проекта и может превысить ограничения Github API. Если это произошло, Composer спросит логин и пароль от Github. Это необходимо для получения токена для Github API. На быстрых соединениях это может прозойти ещё до того, как Composer сможет обработать ошибку, поэтому мы рекомендум настроить токен доступа до установки Yii. Инструкции приведены в документации Composer о токенах Github API.
После установки Composer устанавливать Yii можно запустив следующую команду в папке доступной через веб:
Установка Yii ¶
composer create-project --prefer-dist yiisoft/yii2-app-basic basic
Эта команда устанавливает последнюю стабильную версию Yii в директорию basic
. Если хотите, можете выбрать другое
имя директории.
Информация: Если команда
composer create-project
не выполняется нормально, попробуйте обратиться к разделу «Troubleshooting» документации Composer. Там описаны другие типичные ошибки. После того, как вы исправили ошибку, запуститеcomposer update
в директорииbasic
.
Подсказка: Если вы хотите установить последнюю нестабильную ревизию Yii, можете использовать следующую команду, в которой присутствует опция stability:
composer create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic
Старайтесь не использовать нестабильную версию Yii на рабочих серверах потому как она может внезапно поломать код.
Установка из архива ¶
Установка Yii из архива состоит из трёх шагов:
- Скачайте архив с yiiframework.com;
- Распакуйте скачанный архив в папку, доступную из Web.
- В файле
config/web.php
добавьте секретный ключ в значениеcookieValidationKey
(при установке через Composer это происходит автоматически):
'cookieValidationKey' => 'enter your secret key here',
Другие опции установки ¶
Выше приведены инструкции по установке Yii в виде базового приложения готового к работе. Это отличный вариант для небольших проектов или для тех, кто только начинает изучать Yii.
Есть два основных варианта такой установки:
- Если вам нужен только сам фреймворк и вы хотели бы создать приложение с нуля, воспользуйтесь инструкцией, описанной в разделе «Создание приложения с нуля».
- Если хотите начать с более продвинутого приложения, хорошо подходящего для работы в команде, используйте шаблон приложения advanced.
Проверка установки ¶
После установки приложение будет доступно по следующему URL:
http:
Здесь подразумевается, что вы установили приложение в директорию basic
в корневой директории вашего веб сервера
сервер работает локально (localhost
). Вам может потребоваться предварительно его настроить.
Вы должны увидеть страницу приветствия «Congratulations!». Если нет — проверьте требования Yii одним из способов:
- Браузером перейдите по адресу
http://localhost/basic/requirements.php
- Или выполните команду в консоли:
cd basic
php requirements.php
Для корректной работы фреймворка вам необходима установка PHP, соответствующая его минимальным требованиям. Основное
требование — PHP версии 5.4 и выше. Если ваше приложение работает с базой данных, необходимо установить
расширение PHP PDO и соответствующий драйвер
(например, pdo_mysql
для MySQL).
Настройка веб сервера ¶
Информация: можете пропустить этот подраздел если вы только начали знакомиться с фреймворком и пока не разворачиваете его на рабочем сервере.
Приложение, установленное по инструкциям, приведённым выше, будет работать сразу как с Apache, так и с Nginx под Windows и Linux с установленным PHP 5.4 и выше. Yii 2.0 также совместим с HHVM. Тем не менее, в некоторых случаях поведение при работе с HHVM отличается от обычного PHP. Будьте внимательны.
На рабочем сервере вам наверняка захочется изменить URL приложения с http://www.example.com/basic/web/index.php
на http://www.example.com/index.php
. Для этого необходимо изменить корневую директорию в настройках веб сервера так,
чтобы та указывала на basic/web
. Дополнительно можно спрятать index.php
следуя описанию в разделе
«Разбор и генерация URL». Далее будет показано как настроить Apache и Nginx.
Информация: Устанавливая
basic/web
корневой директорией веб сервера вы защищаете от нежелательного доступа код и данные, находящиеся на одном уровне сbasic/web
. Это делает приложение более защищенным.
Информация: Если приложение работает на хостинге где нет доступа к настройкам веб сервера, то можно изменить структуру приложения как описано в разделе «Работа на Shared хостинге».
Рекомендуемые настройки Apache ¶
Добавьте следующее в httpd.conf
Apache или в конфигурационный файл виртуального хоста. Не забудьте заменить path/to/basic/web
на корректный путь к basic/web
.
DocumentRoot "path/to/basic/web"
<Directory "path/to/basic/web">
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
</Directory>
Рекомендуемые настройки Nginx ¶
PHP должен быть установлен как FPM SAPI для Nginx.
Используйте следующие параметры Nginx и не забудьте заменить path/to/basic/web
на корректный путь к basic/web
и mysite.test
на ваше имя хоста.
server {
charset utf-8;
client_max_body_size 128M;
listen 80;
server_name mysite.test;
root /path/to/basic/web;
index index.php;
access_log /path/to/project/log/access.log;
error_log /path/to/project/log/error.log;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
Используя данную конфигурацию установите cgi.fix_pathinfo=0
в php.ini
чтобы предотвратить лишние системные
вызовы stat()
.
Учтите, что используя HTTPS необходимо задавать fastcgi_param HTTPS on;
чтобы Yii мог корректно определять защищенное
соединение.
Установка — 3.9
CakePHP довольно прост и легок в установке. Минимальные требования — веб-сервер и копия CakePHP, это все что Вам нужно! Этот раздел сосредоточен на установке CakePHP на Apache (поскольку он прост в установке и настройке), но CakePHP может также работать и с другими веб-серверами, как Nginx, LightHTTP или Microsoft IIS.
Требования к установке
HTTP сервер. Например: Apache. Предпочтительно с mod_rewrite, но необязательно.
PHP 5.6 или выше (включая PHP 7.1).
Расширение mbstring для PHP
Расширение intl для PHP
Примечание
В XAMPP и WAMP, расширение mbstring работает по умолчанию.
В XAMPP, расширение intl установлено, но не включено, чтобы включить intl Вам
необходимо раскомментировать extension=php_intl.dll
в файле php.ini и
перезапустить сервер, используя XAMPP панель.
В WAMP, расширение intl установлено, но не включено. Чтобы включить intl Вам необходимо перейти в директорию в которой расположен php C:\wamp\bin\php\php{version}, скопируйте все файлы, которые выглядят как icu*.dll и вставьте а директорию apachebin C:\wamp\bin\apache\apache{version}\bin. После этого перезапустите сервер.
Поскольку ядро базы данных не требуется, мы предполагаем что большинсво приложений будут использовать одно ядро. CakePHP поддерживает различные движки базы данных:
Примечание
Все встроенные драйвера баз данных требуют PDO. Вы должны убедиться, что у Вас установлены корректные расширения PDO.
Установка CakePHP
Прежде чем вы начнете установку убедитесь что у Вас установлена необходимая минимальная версия PHP (5.6.0):
У Вас, по крайней мере, должен быть установлен PHP 5.6 (CLI) или выше. Ваш веб-сервер так же должен иметь версию PHP 5.6 или выше, и версия интерфейса командной строки PHP (CLI) 5.6.0 или выше.
Установка Composer
CakePHP использует мендежер зависимостей PHP Composer, как официально поддерживаемый метод установки.
Установка Composer на Linux и macOS
Запустите скрипт установки, как описано в официальной документации Composer и следуйте инструкциям по установке, чтобы установить Composer.
Выполните следующую команду, чтобы переместить composer.phar в директорию по адресу:
mv composer.phar /usr/local/bin/composer
Установка Composer на Windows
Для установки Composer на Windows, вы можете скачать установщик Composer для Windows здесь.3.8 my_app_name
Как только Composer закончит скачивание каркаса приложения и библиотеки ядра CakePHP, у вас должно появиться полностью работоспособное приложение CakePHP. Убедитесь в том, чтобы в папке вашего приложения всегда были файлы composer.json и composer.lock.
Вы можете перейти по тому пути, куда установлено ваше приложение CakePHP и вы увидите стандартную домашнюю страницу. Чтобы изменить ее содержимое, вы можете отредактировать файл src/Template/Pages/home.ctp.
Несмотря на то, что composer является рекомендуемым методом установки, имеются также готовые сборки доступные для скачивания на Github. Эти сборки содержат каркас приложения со всеми установленными пакетами. Также они содержат файл
composer.phar
, таким образом вы получаете все необходимое для дальнейшей работы.Обновление CakePHP до актуальной версии
По умолчанию в файле composer.json вашего приложения присутствуют следующие настройки:
"require": { "cakephp/cakephp": "3.4.*" }
Каждый раз при запуске команды
php composer.phar update
вы будете получать патчи для данной минорной версии. Вы все же можете изменить это значение на~3.4
для получения последней стабильной версии ветки3.x
.Если вы хотите получать позднейшие изменения в CakePHP, еще не вошедшие в релиз, установите значение версии dev-master в файле composer.json:
"require": { "cakephp/cakephp": "dev-master" }
Учтите, что устанавливать данное значение не рекомендуется, так как это может нарушить работоспособность вашего приложения при установке следующей релизной версии. В дополнение к этому composer не кеширует промежуточные ветки разработки, и это может привести к замедлению последующих обновлений через composer.
Установка с помощью Oven
Еще один быстрый способ установки CakePHP это Oven. Это простой PHP-скрипт, который определяет, что требуется скачать, уcтанавливает каркас приложения CakePHP и выполняет все необходимые предварительные настройки.
После завершения установки вы также получите работоспособное приложение CakePHP.
Примечание
ВАЖНО: Этот скрипт не предназначен для внедрения, его целью является лишь помощь тем разработчикам, которые прежде не сталкивались с установкой CakePHP и которым нужно быстро получить готовое окружение за считанные секунды. Для продакшена необходимо учитывать также некоторые другие факторы, такие как права доступа для файлов, конфигугация виртуального хоста и др.
Права доступа
CakePHP использует папку tmp для ряда различных операций. Описания модели, кешированные виды, сессионные данные — это лишь некоторые примеры. Папка logs используется для записи лог-файлов стандартным движком
FileLog
.Поэтому убедитесь, что в вашем приложении CakePHP для папок logs, tmp и всех их подпапок установлены разрешения для записи данных пользователями. Composer при установке автоматически устанавливает правана запись для папки tmp и ее подпапок для большего удобства, но вы всегда можете перенастроить эти параметры в случае необходимости.
Проблема в том, что папки logs и tmp, а также их подпапки должны быть доступны для записи как со стороны веб-сервера, так для пользователей командной строки. В системе UNIX, если учетная запись пользователя веб-сервера не совпадает с учетной записью пользователя командной строки, вы можете выполнить следующие команды из папки вашего приложения всего лишь один раз, чтобы быть уверенным в том, что разрешения будут настроены корректно:
HTTPDUSER=`ps aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1` setfacl -R -m u:${HTTPDUSER}:rwx tmp setfacl -R -d -m u:${HTTPDUSER}:rwx tmp setfacl -R -m u:${HTTPDUSER}:rwx logs setfacl -R -d -m u:${HTTPDUSER}:rwx logs
Чтобы воспользоваться инструментами консоли CakePHP, вы должны убедиться, что файл
bin/cake
работоспособен. На *nix или macOS вы можете выполнить команду:В Windows, файл .bat должен быть сразу готов к работе. Если вы используете Vagrant, либо какую-то еще оболочку виртуальной среды, то любые общие папки должны обладать разрешениями на исполнение (Пожалуйста обратитесь к документации вашей виртуальной среды для решения этой задачи).
Если же по какой-либо причине вы не можете изменить разрешения для файла
bin/cake
, можете запустить консоль CakePHP командой:Встроенный веб-сервер PHP
Встроенный веб-сервер PHP — это самый быстрый способ настройки CakePHP. В данном примере мы будем использовать консоль CakePHP для запуска встроенного веб-сервера PHP, который сделает ваше приложение доступным по адресу следующего вида — http://host:port. Из папки приложения выполните:
Без передачи дополнительных параметров эта команда сделает ваше приложение доступным по адресу http://localhost:8765/.
Если у вас имеется что-нибудь конфликтующее с именем localhost или портом 8765, вы можете указать в консоли CakePHP запустить веб-сервер на определенном хосте и/или номере порта используя следующие параметры:
bin/cake server -H 192.168.13.37 -p 5673
Это сделает ваше приложение досупным по адресу http://192.168.13.37:5673/.
Вот и все — ваше приложение работает, и нет необходимости в настройке веб-сервера.
Предупреждение
Встроенный веб-сервер никогда не следует использовать в продакшене. Он предназначается только для тестирования приложения в процессе разработки.
Если вы предпочтете использовать полноценный веб-сервер, у вас должна быть возможность переместить вашу установку CakePHP (включая скрытые файлы) в корневую папку вашего веб-сервера. В таком случае вы должны иметь возможность направить ваш браузер в ту папку, в которую вы поместили файлы, и вы увидите ваше приложение в действии.
Полноценная установка
Полноценная установка — это более гибкий способ настройки CakePHP. Его использование позволяет всему домену действовать как единому приложению CakePHP. Данный пример поможет вам установить CakePHP в вашей файловой системе, и сделать его доступным по адресу http://www.example.com. Учтите, что вам могут понадобиться права для изменения
DocumentRoot
на веб-серверах Apache.После установки вашего приложения одним из вышеперечисленных способов в выбранную вами папку — мы предположим, что это будет /cake_install — структура вашего приложения будет следующей:
/cake_install/ bin/ config/ logs/ plugins/ src/ tests/ tmp/ vendor/ webroot/ (папка, соответствующая опции DocumentRoot) .gitignore .htaccess .travis.yml composer.json index.php phpunit.xml.dist README.md
Разработчики, использующие Apache, должны установить директиву
DocumentRoot
для домена в следующее значение:DocumentRoot /cake_install/webroot
Если ваш веб-сервер настроен корректно, вы должны теперь иметь доступ к вашему приложению по адресу http://www.example.com.
Запускайте
Хорошо, давайте посмотрим на CakePHP в действии. В зависимости от использованного способа настройки, вы должны указать в браузере либо адрес http://example.com/, либо http://localhost:8765/. На данный момент вам должна выводиться домашняя страница по умолчанию, и сообщение о состоянии подключения к БД.
Поздравляем! Вы можете приступать к созданию вашего первого приложения CakePHP.
Переопределение URL
Apache
Хотя CakePHP создан для работы с mod_rewrite «из коробки» — и обычно это так и есть — мы заметили, что некоторые пользователи пытаются получить все для хорошей работы в их системах.
Вот несколько вещей, которые вы можете попробовать сделать, чтобы он работал правильно. Первый взгляд на ваш httpd.conf. (Убедитесь, что вы редактируете системный httpd.conf,а не пользовательский или определенный на сайте httpd.conf.)
Эти файлы могут различаться в разных дистрибутивах и версиях Apache. Вы Может также посмотреть http://wiki.apache.org/httpd/DistrosDefaultLayout для более подробной информации.
Убедитесь, что переопределение .htaccess разрешено и, что AllowOverride установлен в значении All для корректного DocumentRoot. Вы должны наблюдать нечто похожее на:
# Каждая папка, к которой Apache имеет доступ, может быть настроена # в отношении того, какие сервисы и возможности разрешены и/или запрещены в той # папке (и ее подпапках). # # Для начала, мы настроим параметры "по умолчанию" довольно ограниченными # возможностями. <Directory /> Options FollowSymLinks AllowOverride All # Order deny,allow # Deny from all </Directory>
Убедитесь, что вы загружаете mod_rewrite корректно. Вы должны видеть нечто подобное:
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
Во многих системах эти настройки по умолчанию закомментированы, так что вы просто должны их раскомментировать, удалив символы # перед строками.
После внесения правок перезапустите Apache, чтобы настройки вступили в силу.
Убедитесь, что ваши файлы .htaccess находятся в правильных папках. Некоторые операционные системы скрывают файлы, имена которых начинаются с „. index.php [L] </IfModule>
Если у вашего сайта CakePHP все еще есть проблемы с mod_rewrite, попробуйте изменить настройки Virtual Hosts. На Ubuntu, отредактируйте файл /etc/apache2/доступные-сайты/default (расположение зависит от дистрибутива). В этом файле убедиесь, что опция
AllowOverride None
изменена наAllowOverride All
:<Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www> Options Indexes FollowSymLinks MultiViews AllowOverride All Order Allow,Deny Allow from all </Directory>
На macOS, другое решение — это использовать инструмент virtualhostx, чтобы заставить Virtual Host ссылаться на вашу папку.
Для многих хостингов (GoDaddy, 1and1) ваш веб-сервер изначально обслуживается из папки пользователя, которая изначально использует mod_rewrite. Если вы устанавливаете CakePHP в папку пользователя (http://example.com/~username/cakephp/), или любой другой URL, уже использующий mod_rewrite, вам понадобится добавить блоки RewriteBase в файлы .(.*) http://example.com$1 permanent; } server { listen 80; server_name example.com; # директива root должна быть глобальной root /var/www/example.com/public/webroot/; index index.php; access_log /var/www/example.com/log/access.log; error_log /var/www/example.com/log/error.log; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
На некоторых серверах (таких как Ubuntu 14.04) приведенная выше конфигурация не будет работать «из коробки», и документация nginx рекомендует иной подход (http://nginx.org/en/docs/http/converting_rewrite_rules.html). Попробуйте нижеприведенные настройки (вы можете заметить, что в данном случае используется всего один блок server {}, а не два, как бы там ни было, если вы хотите иметь доступ к вашему приложению CakePHP еще и с адреса example.com помимо www.example.com, ознакомьтесь с документацией по ссылке выше):
server { listen 80; server_name www.example.com; rewrite 301 http://www.example.com$request_uri permanent; # директива root должна быть глобальной root /var/www/example.com/public/webroot/; index index.php; access_log /var/www/example.com/log/access.log; error_log /var/www/example.com/log/error.log; location / { try_files $uri /index.php?$args; } location ~ \.php$ { try_files $uri =404; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
IIS7 (Windows хостинги)
IIS7 изначально не поддерживает файлы .htaccess. В то время, когда существуют дополнения, добавляющие эту поддержку, вы можете также импортировать правила htaccess в IIS для использования встроенных в CakePHP переопределений.(.*)$» ignoreCase=»false» /> <action type=»Rewrite» url=»index.php» appendQueryString=»true» /> </rule> </rules> </rewrite> </system.webServer> </configuration>
Как только файл web.config будет создан с корректными правилами переопределения, все ссылки на CSS-стили, JavaScript и перенаправление маршрутов CakePHP должны работать корректно.
Я не могу использовать переопределение URL
Если вы не хотите или не можете активировать модуль mod_rewrite (или модуль совместимый с ним) на вашем сервере, вы можете использовать встроенные возможности CakePHP. В файле config/app.php раскомментируйте строку:
'App' => [ // ... // 'baseUrl' => env('SCRIPT_NAME'), ]
И удалите эти файлы .htaccess:
/.htaccess webroot/.htaccess
Это заставит ваши URL выглядеть как www.example.com/index.php/controllername/actionname/param вместо www.example.com/controllername/actionname/param.
Установка и настройка PHP 7 на CentOS 7
В этом руководстве мы объясним, как установить или обновить до PHP 7.0. 7.1, 7.2 и 7.3 в системе CentOS 7. Мы также покажем вам, как интегрировать PHP с Nginx и Apache.
CentOS 7 поставляется с PHP версией 5.4, которая уже некоторое время официально является EOL и больше не поддерживается.С помощью PHP 7 ваши приложения будут загружаться быстрее и потреблять меньше системных ресурсов. Также перед установкой конкретной версии PHP 7.x убедитесь, что она поддерживается вашим приложением.
Перед началом работы с этим учебником убедитесь, что вы вошли на свой сервер с учетной записью пользователя с привилегиями sudo или с пользователем root. Лучше всего запускать административные команды от имени пользователя sudo вместо root. Если в вашей системе нет пользователя sudo, вы можете создать его, следуя этим инструкциям.
Включение репозитория Remi
Пакеты PHP 7.x доступны в нескольких разных репозиториях. Мы будем использовать репозиторий Remi, который предоставляет более новые версии различных пакетов программного обеспечения, включая PHP.
Репозиторий Remi зависит от репозитория EPEL . Запустите следующие команды, чтобы включить репозитории EPEL и Remi:
sudo yum install epel-release yum-utils sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Yum может предложить вам импортировать ключ GPG из репозитория. Введите
y
и нажмитеEnter
.В следующих разделах мы расскажем, как установить PHP 7.x, включив соответствующий репозиторий Remi. Если в вашей системе уже установлен PHP 5.4,
yum
обновятся пакеты PHP.Установка PHP 7.3 на CentOS 7
PHP 7.3 является последней стабильной версией PHP. Большинство современных PHP-фреймворков и приложений, включая WordPress, Drupal, Joomla и Laravel, полностью поддерживают PHP 7.3.
Выполните следующие шаги, чтобы установить PHP 7.3 на CentOS 7.
-
Начните с включения репозитория PHP 7.3 Remi:
sudo yum-config-manager --enable remi-php73
-
Установите PHP 7.3 и некоторые из наиболее распространенных модулей PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
Проверьте установку PHP, введя следующую команду, которая выведет версию PHP:
php -v
PHP 7.3.1 (cli) (built: Jan 8 2019 13:55:51) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.1, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.1, Copyright (c) 1999-2018, by Zend Technologies
Установка PHP 7.2 на CentOS 7
Используйте PHP 7.2, только если вы собираетесь устанавливать такие приложения, как Magento 2, которые не совместимы с PHP 7.2.
Следующие шаги описывают, как установить PHP 7.2 CentOS 7.
-
Сначала включите репозиторий PHP 7.2 Remi, выполнив следующую команду:
sudo yum-config-manager --enable remi-php72
-
После того, как хранилище включено, установите PHP 7.2 и несколько наиболее распространенных модулей PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
-
Проверьте установку PHP:
php -v
PHP 7.2.9 (cli) (built: Aug 15 2018 09:19:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies
Установка PHP 7.1 на CentOS 7
Следуйте инструкциям ниже, чтобы установить PHP 7.1.
-
Включите репозиторий PHP 7.1, набрав:
sudo yum-config-manager --enable remi-php71
-
Установите PHP 7.1 и несколько наиболее распространенных модулей PHP:
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
-
Чтобы проверить установку, выполните следующую команду, которая выведет версию PHP:
php -v
PHP 7.1.21 (cli) (built: Aug 15 2018 17:56:55) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.1.21, Copyright (c) 1999-2018, by Zend Technologies
Настройка PHP 7.x для работы с Apache
Если вы используете Apache в качестве веб-сервера, просто перезапустите службу Apache, используя следующую команду, и все готово:
sudo systemctl restart httpd
Настройка PHP 7.x для работы с Nginx
В отличие от Apache, Nginx не имеет встроенной поддержки для обработки файлов PHP, поэтому нам нужно установить отдельное приложение, такое как PHP FPM, которое будет обрабатывать файлы PHP.
Для установки пакета PHP FPM выполните следующую команду:sudo yum install php-fpm
По умолчанию PHP FPM будет работать как пользователь
apache
на порту 9000. Мы изменим пользователя наnginx
и переключимся с сокета TCP на сокет Unix. Для этого отредактируйте линии, выделенные желтым цветом:... user = nginx ... group = nginx ... listen = /run/php-fpm/www.sock ... listen.owner = nginx listen.group = nginx
Убедитесь, что
/var/lib/php
каталог имеет правильное владение :chown -R root:nginx /var/lib/php
После внесения изменений включите и запустите службу PHP FPM:
sudo systemctl enable php-fpm sudo systemctl start php-fpm
Затем отредактируйте директиву виртуального хоста Nginx и добавьте следующий блок местоположения, чтобы Nginx мог обрабатывать файлы PHP:
server { # . . . other code location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Чтобы новая конфигурация вступила в силу, перезапустите службу Nginx :
sudo systemctl restart nginx
Вывод
Вы узнали, как установить PHP 7 на вашем сервере CentOS и как настроить веб-сервер для обработки файлов PHP.
PHP: установка на macOS — Руководство
Изменение языка: Английскийбразильский португальскийкитайский (упрощенный) французскийнемецкийяпонскийрумынскийрусскийИспанский турецкийДругое
Содержание
В этом разделе содержатся примечания и подсказки, относящиеся к установке PHP на macOS. PHP входит в комплект поставки Mac, и его компиляция аналогична Руководство по установке Unix.
chris at spookee dot de ¶6 лет назад
Для использования PHP 5 существует инструмент «Установка в одну строку».6 / 5.5 / 5.4 / 5.3 для
Джефф Хайден ¶
OS X 10.6 / 10.7 / 10.8 / 10.9 / 10.10 со встроенным Apache с множеством включенных расширений:http://php-osx.liip.ch
Я надеюсь, что опубликую это ссылка разрешена, потому что это очень помогло мне запустить последнюю версию PHP ...
Включенные расширения:
bcmath bz2 calendar Core ctype curl date dom dtrace ereg exif fileinfo filter ftp gd gettext hash iconv imap intl json ldap LibXML MBstring Mcrypt Memcache Memcached Mhash монго MSSQL MySQL MySQLi mysqlnd OAuth ODBC OpenSSL pcntl PCRE ПДО pdo_dblib PDO_MySQL pdo_Pgsql Pdo_Sqlite PgSQL Phar POSIX Отражение сеанса shmop SimpleXml мыльных Sockets ГУМЗ SPL SQLite sqlite3 стандарт sysvmsg sysvsem sysvshm аккуратные токенизатор WDDX Xdebug xhprof XML XmlReader XMLRPC XmlWriter XSL почтовый Zlib Xdebug
доступен, но по умолчанию отключен: apc, xslcache, twig, uploadprogress
14 лет назад
Просто примечание.Программное обеспечение darwinports теперь называется macports, и вы можете получить его по адресу: http://www.macports.org/
Дэн Блэк ¶. Если вы используете macports, обязательно измените все ссылки, которые могут быть в ваших вызывающих скриптах, на macports, поскольку теперь файл macports получает установлены.
14 лет назад
В моем httpd.conf было несколько строк, но не все - в моем отсутствовали строки LoadModule и AddModule для php. Я не уверен, почему - я не удаляю ничего из этого; Я просто комментирую их, если я их не использую.Кроме того, в примечании выше помещен пробел в «LoadModule»; в нем нет места. Я не знал о трюке с «apachectl graceful», хотя - поскольку «httpd -k restart» перестал работать (вероятно, около 10.2), я просто делал это вручную - нашел процесс, убил его и нажал httpd еще раз - спасибо за подсказку!
Итак, для тех, кому не хватает какой-либо из строк, вот полные строки.
В разделе со всеми остальными LoadModules:
LoadModule php4_module libexec / httpd / libphp4.итак-