Saya telah menemukan beberapa penyesuaian untuk menyelesaikan masalah saya.
Pertama : memuat php.inifile terpisah :
Seorang pengguna di forum arch linux memposting ini dari man phphalaman:
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.inifile hanya file ini akan dimuat dan tidak /etc/php/php.inidengan phpperintah cli. php-fpmmasih memuat /etc/php/php.ini.
Kedua : memuat konfigurasi modul yang berbeda:
Saya telah menemukan dalam dokumentasi php yang PHP_INI_SCAN_DIRvariabel lingkungan. Oleh karena itu saya telah memindahkan /usr/lib/systemd/system/php-fpm.servicefile ke /etc/systemd/system/php-fpm.servicedan 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.ddan 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.ddir.