아치 리눅스에서 PHP (CLI) 및 PHP-FPM에 대한 별도의 구성 파일을 만드는 방법 폴더와 우분투 데비안에

그것은 두 개의 폴더와 우분투 데비안에 가능처럼, PHP (CLI)와 PHP-FPM에 대해 별도의 php.ini 파일을 만들 수 있습니다 /etc/php/7.0/cli/etc/php/7.0/fpm?

conf.d각 서브 시스템에 대한 디렉토리 가있는 독립 모듈을로드 할 수 있다면 멋질 것입니다.

누구든지 별도로 구성 할 수있는 아이디어가 있습니까?

또한 우분투 16.04에서 구성된 것처럼 성공하지 못한 구조를 사용하려고했습니다.



답변

내 문제를 해결하기 위해 몇 가지 조정을 찾았습니다.

먼저 : 별도의 php.ini파일을 로드 하십시오.

arch linux forum의 사용자가 man php페이지 에서 다음을 게시했습니다 .

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.

내가 만드는 경우 /etc/php/php-cli.ini파일 만이 파일을로드하지됩니다 /etc/php/php.iniphpCLI 명령. php-fpm여전히로드 중 /etc/php/php.ini입니다.

둘째 : 다른 모듈 구성을로드합니다.

PHP 문서 에서 PHP_INI_SCAN_DIR환경 변수를 찾았습니다 . 따라서 /usr/lib/systemd/system/php-fpm.service파일을 이동 /etc/systemd/system/php-fpm.service하고 서비스 파일에 다음 구성을 추가했습니다.

[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

서비스를 다시 시작 / 재로드 한 후 php-fpm은에서 /etc/php/fpm/conf.d또는 더 이상 파일을로드 하지 않습니다 /etc/php/conf.d. 이를 통해 cli와 fpm을 개별적으로 구성 할 수 있습니다.

아마도 이것이 최선의 해결책은 아니지만 사용 사례에 적합합니다. 모두가 더 나은 솔루션을 가지고 있다면 주저하지 말고 답변을 게시하십시오!


답변

cli 버전에 대해 항상이 작업을 수행 할 수 있습니다.

php -c / 경로 /to/your/php.ini

그리고 기본값은 php-fpm을 통해 제공되는 것으로 유지하십시오. 또는 더 나은 방법으로 이것을 로그인 스크립트에 추가하십시오

# ~ / .bashrc
# 별칭 및 개인 기능

# PHP 소스 개인 이니
별명 php = 'php -c /path/to/your/php.ini'

# ls를 채색하다
별명 ls = 'ls --color'
...

사용중인 버전을 명시하면 더 좋을 것입니다


답변