php-easy-workbench
XAMPPやMAMPのようにPHPでサッと何かを動かしてみたい時の作業台です。色々なバージョンを試しやすいようにコンテナで動くようにしてあります。
- PHP(mod_php)でPHPアプリケーションを実行する
- composerを使ってPHPライブラリを管理する
- cronを使って定期的に何かを実行する
- mysqlを使ってデータベースを使う
- phpmyadminを使ってデータを操作する
セキュリティについて全く考慮していません。作業用のコンピューター等不特定多数からのアクセスが無い環境でのみ使用してください。
Podman DesktopもしくはDocker Desktopをインストールしてください。コマンドを実行する部分はわかりやすいようにdockerに統一していますが、podmanでも動作します。
- podman: https://podman.io/
- docker: https://www.docker.com/products/docker-desktop/
以下のコマンドはターミナル等でこのファイルのあるディレクトリに移動して実行してください。
docker compose up -d
http://localhost:8080/ にアクセスすると、ローカルの php/app/html に配置したファイルが表示されます。phpとして実行したい場合は拡張子を .php にしてください。
docker compose down
ローカルの php/app がコンテナ内では /var/www にマウントされています。例えば php/app の初期設定をする場合は
docker exec -it php-easy-workbench-php-1 composer -d /var/www init
で実行できます。
php/crontab ファイルで設定したジョブが実行されます。実行されているか確認したい時は
docker logs -f php-easy-workbench-php-1
注: 確認できるのはcron自身のログです。ジョブのログを確認したい場合は 1>/dev/shm/some_job.log 2>&1 のようにしてください。
初期ユーザーはrootでパスワードは空です。phpmyadmin( http://localhost:8080/phpMyAdmin/ )から操作できます。mysqlコマンド等を使いたい場合は
docker exec -it php-easy-workbench-mysql-1 mysql -u root
停止後に
docker compose build --no-cache
でビルドしてから起動してください。 注: コンテナ内のデータは全て消えます
停止後に
docker volume rm php-easy-workbench_mysql-vol
でボリュームを削除してから起動してください。 注: データベース内のデータは全て消えます
docker-compose down --rmi all --volumes --remove-orphans