Kategorie
CakePHP

Cloud Linux i selektor PHP – zainstalowane moduły

W przypadku wersji php z selectora od Cloud Linux, ścieżka do php wygląda inaczej.

Zainstalowane moduły sprawdzamy poleceniem:

php -m

lub z pełną ścieżką (tu domyślna jest wersja 5.6):

/opt/alt/php73/usr/bin/php -m
/opt/alt/php74/usr/bin/php -m
/opt/alt/php80/usr/bin/php -m
Kategorie
CakePHP

Uruchomienie wbudowanego serwera CakePHP z wybraną wersją PHP

Run cake server with selected php and port 9990 [localhost:9990]:

/e/xampp/php7/php bin/cake.php server -p 9990 --php_path /e/xampp/php7/php

Powyższy kod działa tylko jeśli zmodyfikujesz skrypt uruchamiający serwer aby obsługiwał parametr –php_path.

Run cake server with current php and port 9990 [localhost:9990]:

bin/cake server -p 9990
Kategorie
CakePHP

Środowisko Docker dla CakePHP

Utwórz nowy projekt

composer create-project cakephp/app myproject

Utwórz plik docker-compose.yaml

version: '3'
services:
  mysql8:
    image: mysql:8
    restart: always
    container_name: mysql
    environment:
        MYSQL_ROOT_PASSWORD: root
        MYSQL_DATABASE: my_app
        MYSQL_USER: my_app
        MYSQL_PASSWORD: secret
    volumes:
      - ./:/application
    ports:
      - '9306:3306'

  cakephp:
    image: webdevops/php-apache:8.0
    container_name: cakephp
    working_dir: /application/webroot
    volumes:
      - ./:/application
    environment:
      - WEB_DOCUMENT_ROOT=/application/webroot
      - DATABASE_URL=mysql://my_app:secret@mysql/my_app
    ports:
      - "8099:80"

Uruchom kontenery

docker-compose up

Utworzysz 2 kontenery o nazwach mysql i cakephp – sprawdź konfigurację docker-compose, aby zobaczyć domyślną bazę danych i użytkowników utworzonych w kontenerze mysql oraz te same parametry środowiska przekazane do kontenera cakephp przez DATABASE_URL, aby umożliwić kontenerowi cakephp połączenie z bazą mysql.

UWAGA: dostępne porty to 9306 dla mysql i 8099 dla serwera WWW. Możesz je wyświetlić za pomocą docker-compose ps.

Dostęp do bazy danych

Aby uzyskać dostęp do bazy danych z linii poleceń wykonaj:

mysql --port 9306 -umy_app -psecret my_app

To restore a database dump for example, you can use the command:

curl -L https://domainname.com/my_app.sql | mysql --port 9306 -umy_app -psecret my_app

Możesz także skonfigurować dowolne narzędzie bazy danych, aby uzyskać dostęp do bazy danych w: localhost:9306

CakePHP Shell

Aby uzyskać dostęp do środowiska i powłoki cakephp, możesz użyć polecenia:

docker exec -it --user application cakephp bash

lub skorzystać z Docker Desktop i przycisku uruchamiającego linię poleceń dla kontenera cakephp.

Przejdziesz do folderu webroot, więc aby uruchomić bin/cake, musisz:

cd ..

bin/cake