Saya telah menemukan beberapa penyesuaian untuk menyelesaikan masalah saya.
Pertama : memuat php.ini
file terpisah :
Seorang pengguna di forum arch linux memposting ini dari man php
halaman:
FILES
php-cli.ini The configuration file for the CLI version of PHP.
php.ini The standard configuration file will only be used when php-cli.ini cannot be found.
Jika saya membuat /etc/php/php-cli.ini
file hanya file ini akan dimuat dan tidak /etc/php/php.ini
dengan php
perintah cli. php-fpm
masih memuat /etc/php/php.ini
.
Kedua : memuat konfigurasi modul yang berbeda:
Saya telah menemukan dalam dokumentasi php yang PHP_INI_SCAN_DIR
variabel lingkungan. Oleh karena itu saya telah memindahkan /usr/lib/systemd/system/php-fpm.service
file ke /etc/systemd/system/php-fpm.service
dan menambahkan konfigurasi berikut ke file layanan:
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=notify
Environment="PHP_INI_SCAN_DIR=/etc/php/fpm/conf.d" ; <-- I have added this line
PIDFile=/run/php-fpm/php-fpm.pid
ExecStart=/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
Setelah memulai ulang / memuat kembali layanan, php-fpm hanya memuat file dari /etc/php/fpm/conf.d
dan tidak lagi dari /etc/php/conf.d
. Ini memungkinkan saya untuk mengkonfigurasi cli dan fpm secara terpisah.
Mungkin ini bukan solusi terbaik tetapi saya cocok untuk penggunaan saya. Jika semua orang memiliki solusi yang lebih baik, jangan ragu untuk mengirimkan jawaban Anda!
--php-ini
, kemudian muat xdebug hanya pada yang kedua layanan. Tentu saja, layanan kedua perlu dijalankan pada port / soket yang berbeda. Saya mengaturEnvironment="PHP_INI_SCAN_DIR=/etc/php-debugger.d:"
dalam file layanan saya, usus besar ditambahkan sehingga memuat semua modul default selain xdebug yang saya salin kedebugger.d
dir.