79 lines
3.2 KiB
YAML
79 lines
3.2 KiB
YAML
---
|
|
- name: Check PHP Files and PHP-FPM Workers
|
|
hosts: production
|
|
gather_facts: yes
|
|
become: no
|
|
|
|
tasks:
|
|
- name: Check if public/index.php exists
|
|
shell: |
|
|
cd ~/deployment/stacks/staging
|
|
echo "=== Check public/index.php ==="
|
|
docker compose exec -T staging-app ls -la /var/www/html/public/index.php 2>&1 || echo "index.php not found"
|
|
echo ""
|
|
echo "=== Check public directory ==="
|
|
docker compose exec -T staging-app ls -la /var/www/html/public/ 2>&1 | head -20 || echo "public directory not found"
|
|
echo ""
|
|
echo "=== Check if code directory exists ==="
|
|
docker compose exec -T staging-app ls -la /var/www/html/ 2>&1 | head -20 || echo "Code directory not found"
|
|
args:
|
|
executable: /bin/bash
|
|
register: file_check
|
|
ignore_errors: yes
|
|
failed_when: false
|
|
|
|
- name: Display file check results
|
|
debug:
|
|
msg: "{{ file_check.stdout_lines }}"
|
|
|
|
- name: Check PHP-FPM worker processes in detail
|
|
shell: |
|
|
cd ~/deployment/stacks/staging
|
|
echo "=== All processes in staging-app ==="
|
|
docker compose exec -T staging-app ps aux 2>&1 || echo "Could not get processes"
|
|
echo ""
|
|
echo "=== Check PHP-FPM master and worker processes ==="
|
|
docker compose exec -T staging-app sh -c "ps aux | grep -E '[p]hp|[f]pm' || echo 'No PHP-FPM processes found'" || echo "Process check failed"
|
|
args:
|
|
executable: /bin/bash
|
|
register: process_check
|
|
ignore_errors: yes
|
|
failed_when: false
|
|
|
|
- name: Display process check results
|
|
debug:
|
|
msg: "{{ process_check.stdout_lines }}"
|
|
|
|
- name: Test PHP execution directly
|
|
shell: |
|
|
cd ~/deployment/stacks/staging
|
|
echo "=== Test PHP CLI ==="
|
|
docker compose exec -T staging-app php -v 2>&1 || echo "PHP CLI failed"
|
|
echo ""
|
|
echo "=== Test if we can include index.php ==="
|
|
docker compose exec -T staging-app php -r "if(file_exists('/var/www/html/public/index.php')) { echo 'index.php exists\n'; } else { echo 'index.php NOT FOUND\n'; }" 2>&1 || echo "PHP test failed"
|
|
args:
|
|
executable: /bin/bash
|
|
register: php_test
|
|
ignore_errors: yes
|
|
failed_when: false
|
|
|
|
- name: Display PHP test results
|
|
debug:
|
|
msg: "{{ php_test.stdout_lines }}"
|
|
|
|
- name: Check PHP-FPM pool status using status page
|
|
shell: |
|
|
cd ~/deployment/stacks/staging
|
|
echo "=== Try to get PHP-FPM status ==="
|
|
docker compose exec -T staging-app sh -c "SCRIPT_NAME=/status SCRIPT_FILENAME=/status REQUEST_METHOD=GET timeout 2 php -r \"\\\$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (socket_connect(\\\$socket, '127.0.0.1', 9000)) { socket_write(\\\$socket, 'GET /status HTTP/1.0\\r\\nHost: localhost\\r\\n\\r\\n'); \\\$response = socket_read(\\\$socket, 1024); echo \\\$response; socket_close(\\\$socket); } else { echo 'Could not connect to PHP-FPM'; }\" 2>&1" || echo "Status check failed"
|
|
args:
|
|
executable: /bin/bash
|
|
register: fpm_status
|
|
ignore_errors: yes
|
|
failed_when: false
|
|
|
|
- name: Display PHP-FPM status
|
|
debug:
|
|
msg: "{{ fpm_status.stdout_lines }}"
|