Swoole 확장 프로그램 설치에 실패하면 어떻게 해야 하나요? swoole 설치 오류에 대한 자세한 설명
추천 학습: swoole tutorial
오늘 pecl을 통해 swoole 설치
pecl install swoole
php -m | grep swoole
PHP 경고: PHP 시작: 동적 라이브러리 '/usr/lib64/php/modules/swoole.so' - /usr/lib64/php/modules/swoole을 로드할 수 없습니다. .so: 정의되지 않은 기호: mysqlnd_find_charset_nr in Unknown on line 0# 🎜🎜#
오류 보고서를 주의 깊게 살펴보면 이 오류 보고서가 swoole.so에 의해 보고된 것으로 나타났습니다. 이는 mysqlnd_find_charset_nr을 찾을 수 없음을 나타냅니다. swoole.so를 로드할 때 이는 mysqlnd로 시작하는 키워드이며 mysqlnd는 PHP의 또 다른 확장입니다. swoole/swoole.mysql.c의 소스 코드를 읽어보면 다음과 같은 문단이 있습니다.
const MYSQLND_CHARSET* cset = mysqlnd_find_charset_nr(client->connector.character_set); if (cset == NULL) { swoole_php_fatal_error(E_ERROR, "unknown mysql charset[%s].", client->connector.character_set); RETURN_FALSE; }
해결책:
1 /etc/php.d/ 디렉토리에서 mysqlnd를 변경합니다. 파일 삭제
2. /etc/php.ini3의 Extension=swoole.so 위 줄에 Extension=mysqlnd.so를 추가합니다. 🎜#이 방법으로 문제를 해결할 수 있습니다. 다음 오류가 발생할 수도 있습니다.
PHP 경고: PHP 시작: 동적 라이브러리 '/usr/lib64 /php를 로드할 수 없습니다. /modules/swoole.so' - /usr/lib64/php/modules/swoole.so: 정의되지 않은 기호: php_sockets_le_socket in Unknown on line 0Solution 방법은 다음과 같습니다. 유사:
1 /etc/php.d/ 디렉토리 2에서 소켓.ini 파일을 삭제합니다. =swoole.so 위 줄
3에 확장자=sockets.so를 추가합니다. php-fpm
을 다시 시작합니다.위 내용은 Swoole 확장 설치에 실패한 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!