Меню Рубрики

Установка cakephp на openserver

Установка¶

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 , скопируйте все файлы, которые выглядят как icu*.dll и вставьте а директорию apachebin C:\wamp\bin\apache\apache\bin. После этого перезапустите сервер.

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

  • MySQL (5.1.10 или выше)
  • PostgreSQL
  • Microsoft SQL Server (2008 или выше)
  • SQLite 3

Все встроенные драйвера баз данных требуют 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 в директорию по адресу:

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

Для установки Composer на Windows, вы можете скачать установщик Composer для Windows здесь. Более подробные инструкции по установке Composer на Windows можно найти в README здесь.

Создание проекта CakePHP¶

Теперь, когда вы скачали и установили Composer, предположим вы хотите создать новое приложение CakePHP в папке my_app_name. Для этого просто выполните следующую команду composer:

Или если Composer установлен глобально:

Как только Composer закончит скачивание каркаса приложения и библиотеки ядра CakePHP, у вас должно появиться полностью работоспособное приложение CakePHP. Убедитесь в том, чтобы в папке вашего приложения всегда были файлы composer.json и composer.lock.

Вы можете перейти по тому пути, куда установлено ваше приложение CakePHP и вы увидите стандартную домашнюю страницу. Чтобы изменить ее содержимое, вы можете отредактировать файл src/Template/Pages/home.ctp.

Несмотря на то, что composer является рекомендуемым методом установки, имеются также готовые сборки доступные для скачивания на Github. Эти сборки содержат каркас приложения со всеми установленными пакетами. Также они содержат файл composer.phar , таким образом вы получаете все необходимое для дальнейшей работы.

Обновление CakePHP до актуальной версии¶

По умолчанию в файле composer.json вашего приложения присутствуют следующие настройки:

Каждый раз при запуске команды php composer.phar update вы будете получать патчи для данной минорной версии. Вы все же можете изменить это значение на

3.4 для получения последней стабильной версии ветки 3.x .

Если вы хотите получать позднейшие изменения в CakePHP, еще не вошедшие в релиз, установите значение версии dev-master в файле composer.json:

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

Установка с помощью Oven¶

Еще один быстрый способ установки CakePHP это Oven. Это простой PHP-скрипт, который определяет, что требуется скачать, уcтанавливает каркас приложения CakePHP и выполняет все необходимые предварительные настройки.

После завершения установки вы также получите работоспособное приложение CakePHP.

Читайте также:  Установка программ из терминала fedora

ВАЖНО: Этот скрипт не предназначен для внедрения, его целью является лишь помощь тем разработчикам, которые прежде не сталкивались с установкой CakePHP и которым нужно быстро получить готовое окружение за считанные секунды. Для продакшена необходимо учитывать также некоторые другие факторы, такие как права доступа для файлов, конфигугация виртуального хоста и др.

Права доступа¶

CakePHP использует папку tmp для ряда различных операций. Описания модели, кешированные виды, сессионные данные — это лишь некоторые примеры. Папка logs используется для записи лог-файлов стандартным движком FileLog .

Поэтому убедитесь, что в вашем приложении CakePHP для папок logs, tmp и всех их подпапок установлены разрешения для записи данных пользователями. Composer при установке автоматически устанавливает правана запись для папки tmp и ее подпапок для большего удобства, но вы всегда можете перенастроить эти параметры в случае необходимости.

Проблема в том, что папки logs и tmp, а также их подпапки должны быть доступны для записи как со стороны веб-сервера, так для пользователей командной строки. В системе UNIX, если учетная запись пользователя веб-сервера не совпадает с учетной записью пользователя командной строки, вы можете выполнить следующие команды из папки вашего приложения всего лишь один раз, чтобы быть уверенным в том, что разрешения будут настроены корректно:

Чтобы воспользоваться инструментами консоли 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 запустить веб-сервер на определенном хосте и/или номере порта используя следующие параметры:

Это сделает ваше приложение досупным по адресу http://192.168.13.37:5673/.

Вот и все — ваше приложение работает, и нет необходимости в настройке веб-сервера.

Встроенный веб-сервер никогда не следует использовать в продакшене. Он предназначается только для тестирования приложения в процессе разработки.

Если вы предпочтете использовать полноценный веб-сервер, у вас должна быть возможность переместить вашу установку CakePHP (включая скрытые файлы) в корневую папку вашего веб-сервера. В таком случае вы должны иметь возможность направить ваш браузер в ту папку, в которую вы поместили файлы, и вы увидите ваше приложение в действии.

Полноценная установка¶

Полноценная установка — это более гибкий способ настройки CakePHP. Его использование позволяет всему домену действовать как единому приложению CakePHP. Данный пример поможет вам установить CakePHP в вашей файловой системе, и сделать его доступным по адресу http://www.example.com. Учтите, что вам могут понадобиться права для изменения DocumentRoot на веб-серверах Apache.

После установки вашего приложения одним из вышеперечисленных способов в выбранную вами папку — мы предположим, что это будет /cake_install — структура вашего приложения будет следующей:

Разработчики, использующие Apache, должны установить директиву DocumentRoot для домена в следующее значение:

Если ваш веб-сервер настроен корректно, вы должны теперь иметь доступ к вашему приложению по адресу http://www.example.com.

Запускайте¶

Хорошо, давайте посмотрим на CakePHP в действии. В зависимости от использованного способа настройки, вы должны указать в браузере либо адрес http://example.com/, либо http://localhost:8765/. На данный момент вам должна выводиться домашняя страница по умолчанию, и сообщение о состоянии подключения к БД.

Переопределение URL¶

Apache¶

Хотя CakePHP создан для работы с mod_rewrite «из коробки» — и обычно это так и есть — мы заметили, что некоторые пользователи пытаются получить все для хорошей работы в их системах.

Читайте также:  Установка 2 диновой магнитолы в сандеро

Вот несколько вещей, которые вы можете попробовать сделать, чтобы он работал правильно. Первый взгляд на ваш httpd.conf. (Убедитесь, что вы редактируете системный httpd.conf,а не пользовательский или определенный на сайте httpd.conf.)

Эти файлы могут различаться в разных дистрибутивах и версиях Apache. Вы Может также посмотреть http://wiki.apache.org/httpd/DistrosDefaultLayout для более подробной информации.

Убедитесь, что переопределение .htaccess разрешено и, что AllowOverride установлен в значении All для корректного DocumentRoot. Вы должны наблюдать нечто похожее на:

Убедитесь, что вы загружаете mod_rewrite корректно. Вы должны видеть нечто подобное:

Во многих системах эти настройки по умолчанию закомментированы, так что вы просто должны их раскомментировать, удалив символы # перед строками.

После внесения правок перезапустите Apache, чтобы настройки вступили в силу.

Убедитесь, что ваши файлы .htaccess находятся в правильных папках. Некоторые операционные системы скрывают файлы, имена которых начинаются с „.“ и таким образом не позволяют копировать их.

Убедитесь, что ваша копия CakePHP получена из нашего Git-репозитория, и корректно распакована, проврив файлы .htaccess.

Папка app CakePHP (будет скопирована в корневую папку вашего приложения консолью bake):

Папка webroot CakePHP (будет скопирована в корневую папку вашего приложения консолью bake):

Если у вашего сайта CakePHP все еще есть проблемы с mod_rewrite, попробуйте изменить настройки Virtual Hosts. На Ubuntu, отредактируйте файл /etc/apache2/доступные-сайты/default (расположение зависит от дистрибутива). В этом файле убедиесь, что опция AllowOverride None изменена на AllowOverride All :

На macOS, другое решение — это использовать инструмент virtualhostx, чтобы заставить Virtual Host ссылаться на вашу папку.

Для многих хостингов (GoDaddy, 1and1) ваш веб-сервер изначально обслуживается из папки пользователя, которая изначально использует mod_rewrite. Если вы устанавливаете CakePHP в папку пользователя (http://example.com/

username/cakephp/), или любой другой URL, уже использующий mod_rewrite, вам понадобится добавить блоки RewriteBase в файлы .htaccess, используемые CakePHP (.htaccess, webroot/.htaccess).

Это может быть добавлено в ту же секцию, что и директива RewriteEngine. Так, к примеру ваш файл .htaccess папки webroot может выглядеть так:

Более детальный разбор необходимых изменений будет зависеть от вашей конкретной установки, и может потребоваться указание параметров, не связанных непосредственно с CakePHP. Для более подробной информации пожалуйста ознакомьтесь с онлайн-документацией Apache.

(Опционально) Чтобы улучшить настройки продакшена, вы должны предотвращать обработку фреймворком CakePHP несуществующих ресурсов. Измените файл .htaccess папки webroot например вот так:

Данные настройки предотвратят передачу некорректных параметров файлу index.php и в случае необходимости вернут 404 ошибку.

В дополнение к этому вы можете создать шаблон страницы для 404 ошибки, или же можете использовать встроенный в CakePHP шаблон, добавив директиву ErrorDocument :

nginx¶

nginx не использует файлы .htaccess как Apache, так что необходимо создавать эти переопределенные URL в конфигурации сайта. Обычно все это находится в /etc/nginx/доступные-сайты/файл_конфигурации_вашего_виртуального_хоста . В зависимости от ваших настроек, вам возможно придется внести некоторые правки в данные параметры, но как правило небольшие, вам понадобится PHP на FastCGI:

На некоторых серверах (таких как Ubuntu 14.04) приведенная выше конфигурация не будет работать «из коробки», и документация nginx рекомендует иной подход (http://nginx.org/en/docs/http/converting_rewrite_rules.html). Попробуйте нижеприведенные настройки (вы можете заметить, что в данном случае используется всего один блок server <>, а не два, как бы там ни было, если вы хотите иметь доступ к вашему приложению CakePHP еще и с адреса example.com помимо www.example.com, ознакомьтесь с документацией по ссылке выше):

IIS7 (Windows хостинги)¶

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

источник

Установка CakePHP 3.1

#1 Andrey Tolo

  • Пользователи
  • 121 сообщений
  • Не могу установить последнюю версию фрейма CakePHP..

    Вроде делал все как в документации:

    Скачал последний релиз, обновил OpenServer (на всякий), еще пытался установить composer, но после пыток и мучений узнал, что в последних версиях OpenServer composer уже установлен и (скорее всего из-за этого) composer упорно не хотел устанавливаться.

    Читайте также:  Установка профиля icc для монитора

    После всего этого приступил к установки:

    • Вывалил в папку domains последний релиз CakePHP (это 3.1.6)
    • Затем открыл консоль OpenServer и прописал путь к текущему релизу, и как в документации запустил данную команду , которая генерирует файл composer.phar
    • затем опять же, как в документации прописываю команду
    • И вот тут начинается магия.. сам скелет сайта генерируется, но в консоле выбивает такую ошибку

    А когда открываешь сгенерированный скелет сайта, то выдает следующие ошибки
    И что с ними делать не знаю.. возможно я что то напортачил с этим composer.. тем более с ним ранее не работал.. Хотя находил на githab тот же, уже распакованный скелет и все равно выдает те же ошибки..

    Очень надеюсь на вашу помощь

    Вот сама статья из документации book.cakephp.org/3.0/en/installation.html

    #2 matroskin8

  • Администраторы
  • 12 528 сообщений
  • #3 Andrey Tolo

  • Пользователи
  • 121 сообщений
  • matroskin8 (03 Январь 2016 — 08:45) писал:

    Нет конечно
    да как то и не очень я доверяю программе, которая сама скачивает файлы с инета..

    matroskin8 (03 Январь 2016 — 08:45) писал:

    Да по сути то тоже так делал, но все равно ошибку выдавало..

    Но разобрался уже.. беда была в подключении расширения в настройках php.ini (нужно было просто раскомментировать данную строчку ), только делать надо было через сам open server, а не лезть в директорию с версией php через папки.. а я тупень понять не мог в чем проблема.

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

    #4 Alzhan

  • Клиенты WebForMySelf
  • 26 сообщений
  • Andrey Tolo (02 Январь 2016 — 23:07) писал:

    Не могу установить последнюю версию фрейма CakePHP..

    Вроде делал все как в документации:

    Скачал последний релиз, обновил OpenServer (на всякий), еще пытался установить composer, но после пыток и мучений узнал, что в последних версиях OpenServer composer уже установлен и (скорее всего из-за этого) composer упорно не хотел устанавливаться.

    После всего этого приступил к установки:

    • Вывалил в папку domains последний релиз CakePHP (это 3.1.6)
    • Затем открыл консоль OpenServer и прописал путь к текущему релизу, и как в документации запустил данную команду , которая генерирует файл composer.phar
    • затем опять же, как в документации прописываю команду
    • И вот тут начинается магия.. сам скелет сайта генерируется, но в консоле выбивает такую ошибку

    А когда открываешь сгенерированный скелет сайта, то выдает следующие ошибки
    И что с ними делать не знаю.. возможно я что то напортачил с этим composer.. тем более с ним ранее не работал.. Хотя находил на githab тот же, уже распакованный скелет и все равно выдает те же ошибки..

    Очень надеюсь на вашу помощь

    Вот сама статья из документации book.cakephp.org/3.0/en/installation.html

    #5 Alzhan

  • Клиенты WebForMySelf
  • 26 сообщений
  • Andrey Tolo (03 Январь 2016 — 11:49) писал:

    Нет конечно
    да как то и не очень я доверяю программе, которая сама скачивает файлы с инета..

    Да по сути то тоже так делал, но все равно ошибку выдавало..

    Но разобрался уже.. беда была в подключении расширения в настройках php.ini (нужно было просто раскомментировать данную строчку ), только делать надо было через сам open server, а не лезть в директорию с версией php через папки.. а я тупень понять не мог в чем проблема.

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

    #6 Sasha_1988

  • Клиенты WebForMySelf
  • 269 сообщений
  • ,кстати, когда через composer установленный в openServer пробуете установить, вы в консоли написали
    Там Composer глобально установлен и нужно убрать php и .phar , по крайней мере помню, что в курса по yii так было
    Т.к. вот так.

    источник

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

    Adblock
    detector