CentOS 7 mysqli는 php apache에서는 작동하지만 php-cli에서는 작동하지 않습니다.

CentOS 7 mysqli는 php apache에서는 작동하지만 php-cli에서는 작동하지 않습니다.

CentOS 7.5에 remi 저장소에서 php7.2를 설치했습니다. PHP 명령줄에서 mysqli에 액세스하고 싶습니다. 시도하면 오류가 표시됩니다.

정의되지 않은 함수 mysqli_connect() 호출

Apache로 실행되는 PHP는 mysqli에서 잘 작동합니다. yum을 통해 설치된 모든 확장 기능은 여기에 완벽하게 반영됩니다. 그러나 다른 php.ini 파일을 구문 분석하는 php 명령줄의 경우 확장 기능이 로드되지 않습니다.

명령줄 PHP에 대한 확장을 별도로 추가해야 합니까? 그렇다면 어떻게? 아니면 다른 대안이 있나요? 추가 정보가 필요하면 알려주시기 바랍니다.

시간 내 주셔서 감사합니다.

답변1

가 지적한 바와 같이마이클 햄튼(감사합니다) 댓글에 서버에 두 개의 PHP 설치가 있었습니다. 나는 특정한 요구에 따라 두 가지 다른 솔루션을 찾았습니다.

  1. php-cli의 경우:

.bash_profile에 다음 줄이 추가됩니다.

alias php="/usr/bin/php"
  1. Java 서블릿에서 PHP를 실행하는 경우(명령으로):

사용

String[] commands = {"bash", "-c", "/usr/bin/php myphpfile.php arg01 arg02"};
File dir = new File("<my-php-file-directory>");
try{
Process process;
process = Runtime.getRuntime().exec(commands, null, dir);
process.waitFor();
....
....
}

그게 다야

php -modules터미널에서 mysqli로 원하는 출력을 제공합니다.

관련 정보