다음은 nginx와 php-fpm을 사용하는 서버입니다. 여기에는 5.3과 5.5의 두 가지 버전의 PHP가 설치되어 있습니다. 이제 새로운 Redis 확장을 설치하고 싶기 때문에 다음에서 Redis 확장의 소스 코드 패키지를 다운로드했습니다. 공식 웹사이트를 방문하여 컴파일하고, 마지막으로 php.ini에 Extension=redis.so를 추가하고 마지막으로 php-fpm을 다시 시작합니다.
그래서 오류가 발생했습니다. 제가 컴파일한 php 확장 프로그램의 버전이 다르다는 뜻입니다
<code>PHP Warning: PHP Startup: redis: Unable to initialize module Module compiled with module API=20100525 PHP compiled with module API=20121212</code>
아마도 이유를 발견한 것 같습니다. php-fpm -v
을 사용하는 버전은 5.5이고, php -v
에서 표시하는 버전은 5.3이고, phpize는 5.3을 사용하기 때문입니다.
그래서 컴파일된 so 파일을 삭제하고 소스코드 패키지를 다시 압축해제하여 컴파일한 후 phpize 5.5 버전을 다시 시작해도 여전히 똑같아서 아무 소용이 없었습니다.
<code>$ /usr/local/php/bin/phpize -v Configuring for: PHP Api Version: 20121113 Zend Module Api No: 20121212 Zend Extension Api No: 220121212 $ sudo /usr/local/php/bin/phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config $ make $ sudo make install</code>
이 상황을 어떻게 해결해야 하나요? 버전 5.3은 서버에 있고 다른 사람이 사용할 수 있으므로 삭제하는 것은 불가능합니다.
다음은 nginx와 php-fpm을 사용하는 서버입니다. 여기에는 5.3과 5.5의 두 가지 버전의 PHP가 설치되어 있습니다. 이제 새로운 Redis 확장을 설치하고 싶기 때문에 다음에서 Redis 확장의 소스 코드 패키지를 다운로드했습니다. 공식 웹사이트를 방문하여 컴파일하고, 마지막으로 php.ini에 Extension=redis.so를 추가하고 마지막으로 php-fpm을 다시 시작합니다.
그래서 오류가 발생했습니다. 제가 컴파일한 php 확장 프로그램의 버전이 다르다는 뜻입니다
<code>PHP Warning: PHP Startup: redis: Unable to initialize module Module compiled with module API=20100525 PHP compiled with module API=20121212</code>
아마도 이유를 발견한 것 같습니다. php-fpm -v
을 사용하는 버전은 5.5이고, php -v
에서 표시하는 버전은 5.3이고, phpize는 5.3을 사용하기 때문입니다.
그래서 컴파일된 so 파일을 삭제하고 소스코드 패키지를 다시 압축해제하여 컴파일한 후 phpize 5.5 버전을 다시 시작해도 여전히 똑같아서 아무 소용이 없었습니다.
<code>$ /usr/local/php/bin/phpize -v Configuring for: PHP Api Version: 20121113 Zend Module Api No: 20121212 Zend Extension Api No: 220121212 $ sudo /usr/local/php/bin/phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config $ make $ sudo make install</code>
이 상황을 어떻게 해결해야 하나요? 버전 5.3은 서버에 있고 다른 사람이 사용할 수 있으므로 삭제하는 것은 불가능합니다.
PHP 구성 경로를 올바르게 가져오기