1. 질문
회사에는 Apache+MySQL+Php 구조를 갖춘 오래된 Linux 서버가 있으며 여기에 최신 PHP 프로젝트를 테스트 환경으로 배포하려고 합니다.
새 프로젝트는 PHP의 YII 프레임워크를 사용하여 개발되고 YII 프레임워크의 데이터 액세스는 PDO 인터페이스를 사용하므로 PDO_Mysql 드라이버의 지원이 필요합니다.
[참고: 현재 PDO는 PHP가 데이터베이스에 액세스하는 주요 방법이 되었으며 이는 인터페이스 지향 프로그래밍의 설계 아이디어이기도 합니다.
더 높은 버전의 PHP에는 PDO, PDO-SQLite 및 PDO-Mysql에 대한 지원도 내장되어 있습니다. 나는 대부분의 PHP 서버가 이제 PDO를 지원한다고 믿습니다.
아직 이전 mysql mysqli 방법을 사용하고 있다면 PDO를 사용하지 마세요. ]
2. 아이디어
PHP용 PDO-Mysql 드라이버를 구성하는 방법은 두 가지뿐입니다.
하나는 PHP를 다시 컴파일, 설치 및 구성하고 구성 시 --with-pdo-mysql 매개변수를 추가하는 것입니다.
다른 하나는 기존 PHP를 기반으로 pdo-mysql 확장을 추가하는 것입니다.
편의성과 속도의 원칙을 바탕으로 기존 기반에 pdo-mysql 드라이버를 추가하기로 결정했습니다.
3. 구체적인 업무
0. 준비
우선, 현재 PHP가 /user/local/php에 있다고 가정하고 어디에 설치되어 있는지 알아야 합니다
디렉토리 구조는 대략 이렇습니다.
빈
등등
포함
lib
로그
남자
아래에서 사용될 파일을 찾으세요.
lib/php.ini PHP 구성 파일은 아마도 여러분에게 익숙할 것입니다. 특정 상황에 따라 etc 디렉토리에 있을 수도 있습니다.
bin/phpize 이것은 PHP를 다시 편집하지 않고 PHP에 새로운 확장을 추가하는 것입니다
bin/php-config php-config는 PHP가 설치된 디렉토리, 확장 라이브러리 경로 등 일부 PHP 관련 정보를 얻는 데 사용되는 스크립트 파일입니다. 시스템에 둘 이상의 PHP 버전이 설치되어 있는 경우 이 매개변수는 확장 기능을 설치할 PHP 버전을 지정하는 데 유용합니다.
또한, Mysql이 어디에 설치되어 있는지도 알아야 합니다.
이는 /usr/local/mysql
에 있다고 가정합니다.
1. pdo-mysql 드라이버 소스 코드 다운로드
URL은 http://pecl.php.net/package/PDO_MYSQL입니다. 공식 웹사이트를 보면 이 방법을 더 이상 사용하지 않는 것을 볼 수 있습니다.
PDO는 PHP 커널에 통합되었기 때문에 컴파일할 때 매개변수만 추가하면 됩니다.
다음 단계가 순서대로 수행됩니다.
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
tar zxvf PDO_MYSQL-1.0.2.tgz
cd PDO_MYSQL-1.0.2
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
만들다
설치
이때 pdo-mysql 드라이버가 컴파일 되었습니다.
일반적으로 이 디렉토리에
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
이것은 PHP 확장이 저장되는 곳입니다. memcache.so와 같은 다른 확장이 이미 있을 수 있습니다
디렉토리를 확인하면 pdo_mysql.so 라이브러리 파일이 이미 표시되어 있어야 합니다.
2. php.ini 파일 구성
vi /usr/local/php/lib/php.ini
확장 구성 섹션을 찾은 다음 pdo_mysql.so를 추가하세요.
Extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
확장자 = "memcache.so"
확장자 = "pdo_mysql.so"
3. 완료되더라도 아파치 서버를 다시 시작하세요
아파치/bin/apachectl 다시 시작
4. phpinfo가 작동하는지 확인하세요
간단한 문장으로 PHP 파일을 작성하세요 phpinfo()
http://www.aaa.com/test.php
를 엽니다.
pdo 검색
pdo가 이미 mysql 드라이버를 지원하고 있으며 php의 pdo를 통해 mysql 데이터베이스를 작동할 수 있음을 나타내는 다음 프롬프트가 표시됩니다.
PDO 드라이버 sqlite, sqlite2, mysql
위 내용은 관련 내용을 포함하여 PHP에 PDO-Mysql 드라이버를 추가하는 방법을 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.