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
Composer

Composer i problemy z wersjami PHP

Aktualizacja composer z bieżącą wersją PHP:

composer self-update

Aktualizacja composer z wybraną wersją PHP:

/e/xampp/php7/php composer.phar self-update

Instalacja cakephp 3.9 z bieżącą wersją PHP:

composer create-project --prefer-dist cakephp/app:^3.9 my_app_name

Instalacja najnowszej wersji cakephp z bieżącą wersją PHP:

composer create-project --prefer-dist cakephp/app my_app_name

Aktualizacja composer z wybraną wersją PHP:

/e/xampp/php7/php composer.phar self-update

Instalacja cakephp z wybraną wersją PHP:

/e/xampp/php7/php composer.phar create-project --prefer-dist cakephp/app my_app_name

Instalacja cakephp 3.9 z wybraną wersją PHP:

/e/xampp/php7/php composer.phar create-project --prefer-dist cakephp/app:^3.9 my_app_name
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
DirectAdmin

Zmiana docroot w DirectAdmin

Aby zmienić DOCROOT zaloguj się do DirectAdmin z prawami Administratora.

Wejdź w Zarządzanie serwerem => Niestandardowa konfiguracja HTTPD.

Odszukaj domenę na liście domen i kliknij httpd.conf. W ten sposób wejdziesz do szczegółów konfiguracji domeny.

Kliknij przycisk Dostosuj. W polu tekstowym wklej wybrany poniższy kod. Zmodyfikuj ścieżkę do nowego katalogu DOCROOT według potrzeb.

|?DOCROOT=/home/username/domains/domena.com/twoj_katalog|
|?DOCROOT=/home/username/domains/domena.com/webroot|
Kategorie
MySQL

Przywrócenie kopii bazy danych

Najkrótsze polecenie

mysql -p -unazwa_uzytkownika nazwa_bazy < plik_backupu.sql

Można również podać pełną ścieżkę do mysql jeśli zajdzie taka potrzeba:

/e/xampp/mysql/bin/mysql -p -unazwa_uzytkownika nazwa_bazy < plik_backupu.sql

Kolejna opcja to podanie hasła ze znakami specjalnymi w linii poleceń:

/e/xampp/mysql/bin/mysql -p -u nazwa_uzytkownika 
--password="trudnehaslo87y)RG#t7rfvc" nazwa_bazy < plik_backupu.sql
Kategorie
Bez kategorii

Kopia bazy danych z linii poleceń

Z kompresją gzip:

usr/bin/mysqldump --opt --host=localhost 
--user=nazwa_uzytkownika --password="trudnehaslo" nazwa_bazy | gzip -v -9 > plik.sql

Bez pełnej ścieżki do mysqldump

mysqldump -u nazwa_uzytkownika --password="trudnehaslo" nazwa_bazy > backup.sql
Kategorie
GIT

Archiwum zip z repozytorium GIT

Ostatni commit

W katalogu głównym kopii roboczej uruchom polecenie:

git archive -o nazwa_pliku_latest_head.zip HEAD

Wybrana gałąź (branch)

git archive -o nazwa_pliku_latest_master.zip master
Kategorie
HTML 5

Szablon html wiadomości email

Najczęściej wykorzystywany przeze mnie kod html znajduje się na github:

https://github.com/leemunroe/responsive-html-email-template/blob/master/email.html
Kategorie
Bez kategorii

SMTP Error: 550 Sender verify failed

Przyczyną błędu z nagłówka może być ustawienie nadawcy maila innego niż skrzynka do której się logujemy w celu wysłania maila.

Zatem jeśli wysyłamy maila przez smtp ze skrzynki kontatk@cakephpdev.pl to nie możemy ustawić jako nadawcy innynadawca@gmail.com

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