쉘 상에서 common/scripts 에 있는 스크립트를 실행하면 아래와 같은 에러가 나옵니다.
해당 파일을 열어봐도 무엇이 문제인지, 어디를 손봐야할지 잘 모르겠습니다.
도움을 요청드립니다!
sh-4.4$ sudo -u http php clean_garbage_files.php
PHP Exception: Error #0 "Undefined class constant 'MYSQL_ATTR_USE_BUFFERED_QUERY'" in common/framework/db.php on line 117
#0 /volume2/web/jbrc/common/framework/db.php(82): Rhymix\Framework\DB->__construct()
#1 /volume2/web/jbrc/common/scripts/clean_garbage_files.php(22): Rhymix\Framework\DB::getInstance()
에러가 나는 부분은 웹과 쉘 모두 공통으로 사용하는 DB 접속 함수입니다. 웹에서 사이트를 구동하는 데는 문제가 없는데 쉘에서만 안 된다면 웹에서 사용하는 PHP와 쉘에서 사용하는 PHP가 다를 가능성이 높습니다.
같은 서버라도 웹용 PHP와 쉘용 PHP는 다릅니다. 서로 다른 확장모듈이 설치되어 있는 것은 기본이고, 심지어 버전이 완전히 다른 경우도 심심찮게 봅니다. 사용하시는 리눅스 배포판에서 권장하는 정식 패키지를 사용하지 않고 다른 저장소를 끌어다 쓴 경우 어긋나기 쉽고, 컴파일 설치했다면 거의 100%의 확률로 서로 어긋납니다.
쉘 버전에 PDO MySQL 드라이버가 설치되어 있지 않은 것으로 보입니다. php -v; php -m 명령으로 PHP 버전 및 필수 확장모듈 설치 여부를 확인해 보세요.