태그 보관물: server

server

스레드 안전 PHP로 우분투 14.04에서 이벤트 MPM Apache 2.4를 활성화하는 방법은 무엇입니까? PHP Module is

기본 아파치 설치가 새로운 이벤트 MPM을 사용할 것으로 예상하면서 Ubuntu Server 14.04로 업그레이드했지만 대신 이전 메모리를 먹는 프리 포크를 찾습니다.

Arch Linux에서 이벤트 MPM을 성공적으로 설정했지만 Ubuntu에서 실패했습니다. 나는 계속 받고있다 :

Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP

이미 설치 php-fpm하고 사용하기 위해 apache2를 구성했지만 우분투에서 apache2의 구성 파일이 다르기 때문에 올바른 위치에서 수행하는지 확실하지 않습니다.

apache2 event-mpm을 사용할 수 있도록 PHP 스레드를 안전하게 만드는 방법에 대한 아이디어가 있습니까? (물론 PHP를 수동으로 다시 컴파일하지 않아도 됨)



답변

비활성화하려면 event MPM다음을 수행 sudo a2dismod mpm_event한 후 활성화 prefork해야합니다 sudo a2enmod mpm_prefork.

마지막으로 아파치를 다시 시작하십시오.

sudo service apache2 restart

답변

이것은 나를 위해 일했습니다.

먼저이 패키지가 설치되어 있는지 확인하십시오.

dpkg -l | grep libapache2-mod-php5

가지고 있다면 그냥 제거하십시오.

apt-get remove libapache2-mod-php5

답변

Apache가 PHP와 병렬로 통신하는 여러 가지 방법을 설치할 수 있습니다. 어쩌면 fastcgi / php-fpm에 이전 mod_php를 설치했을 수도 있습니다.

Apache가 런타임에 어떤 모듈을로드했는지 확인할 수 있습니다.

apache2ctl -M

필요한 경우 sudo루트 권한을 얻는 데 사용하십시오 . 당신이 볼 경우 php5_module (shared)아파치가 현재 사용하고있는 모듈 중, 기존의 방법 mod_php가 여전히 설치 및 사용에서 블록을한다 mpm_workermpm_event.


답변

나를 위해 데비안에서 완전히 작업하십시오.

  1. 프리 포크 비활성화, 이벤트 활성화 : a2dismod mpm_prefork && a2enmod mpm_event
  2. mod-php5를 제거하십시오 : aptitude remove libapache2-mod-php5
  3. php_의해 VHost 캡슐화에 각 옵션이 있으며 <IfModule mod_php5.c></IfModule>, 그렇지 않으면 아파치가 다시 시작되지 않습니다.
  4. 해야 할 것 service apache2 restart

답변

Apache 구성 파일의 Load Modules 섹션에서 다음을 찾으십시오.

LoadModule mpm_event_module modules/mod_mpm_event.so

그리고 다음 모듈로 교체하십시오.

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

답변

php5 모듈은 prefork mpm을 필요로하며 prefork를 비활성화하려면 php5를 비활성화해야합니다.

데비안에서 루트로 다음을 수행했습니다.

프리 포크 mpm 비활성화

a2dismod mpm_prefork

mpm 이벤트 또는 원하는 mpm을 활성화하십시오. 참고 이벤트 mpm이 아파치 2.2 이하 버전에 권장되지 않음

a2enmod mpm_event

php5 모듈로드를 비활성화하지만 제거하지는 않습니다.

a2dismod php5

결과 아파치 구성의 전반적인 정확성을 테스트합니다. 위 의 @sulther답변 에 따라 오류를 해결해야합니다 .

apache2ctl -t

아파치를 다시 시작

systemctl restart apache2

PHP가 여전히 필요한 경우 스레드 세이프 버전을 설치해야합니다. 참조 : https://www.digitalocean.com/community/tutorials/how-to-configure-apache-http-with-mpm-event-and-php-fpm-on-freebsd-12-0

행운을 빕니다


답변