Home  >  Article  >  Backend Development  >  2 methods to install PDO_MYSQL extension in PHP_PHP tutorial

2 methods to install PDO_MYSQL extension in PHP_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:11:511415browse

Two methods to install PDO_MYSQL extension in PHP

Method 1

I saw that the CakePHP documentation required the installation of the pdo_mysql extension, so I tried to install it.

My system here is CentOS 6.0. If your system is another version of Linux/Unix, you can refer to it. If your system is Windows, sorry, the following content is not suitable for you, please move on.

First, download the source code package of the pdo_mysql extension. The download page is here: http://pecl.php.net/package/PDO_MYSQL. You can download it first and then transfer it to the server using FTP.

I copied the download address and then used wget to download it directly to the server.

 # wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

Then decompress.

 # tar -zxvf PDO_MYSQL-1.0.2.tgz

Enter the decompressed directory and execute phpize.

 # /usr/local/php/bin/phpize

Configuring for:

PHP Api Version: 20100412

Zend Module Api No: 20100525

Zend Extension Api No: 220100525

The makefile is generated below. The last two parameters must be added. I did not add them at first, but the result was that the header files of php-config and mysql could not be found.

 # ./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql

Before making, you need to make a soft connection to the mysql header file. Because the directory is specified when MySQL is installed, the header file will still not be found without making a soft connection.

 # ln -s /usr/local/mysql/include/* /usr/local/include/

Then make and make install.

 # make

 # make install

After that, the following prompt will appear, which means that the extension is installed in the following directory.

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/

For convenience, I moved the pdo_mysql.so file to the extensions directory.

 # mv /usr/local/php/lib/php/extensions/no-debug-zts-20100525/pdo_mysql.so /usr/local/php/lib/php/extensions/

Then you can modify the php.ini file.

Find the line; extension_dir = “./”, remove the comment, and modify the path.

 extension_dir = “/usr/local/php/lib/php/extensions/”

After my testing here, I found that php will only look for extension so from this directory, but not the subdirectories under this directory. So before, I moved all so files to this directory for unified management.

Find the line; extension=php_pdo_mysql.dll, remove the comment, and modify the following file name.

extension=pdo_mysql.so

The file name is different. You need to remove the php_ prefix here, otherwise the file cannot be found. The following dll is the file name under windows, we change it to so.

Finally, just restart apache. Use phpinfo() to check and find that it has taken effect.

Method 2

PDO_MYSQL The following operations are performed under the Linux system

 1. Download the file or enter ext/pdo_mysql

in the PHP source package

 http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz

2. Unzip the file

tar zxvf PDO_MYSQL-1.0.2.tgz

3. Configuration and compilation files

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

make

make install

Note: My PHP is installed in: /usr/local/php/ mysql is installed in: /usr/local/mysql When compiling, pay attention to where your own installation directory is

3. Install into PHP configuration

Remember this, then open the php.ini file,

and add a line

extension=pdo_mysql.so

Windows PDO MYSQL extension installation

pdo is not enabled in php.ini, so modify php.ini and remove the semicolon from the front of the code that looks like the following. The modification is as follows:

extension_dir="E:/amp/php/ext" //Configure here as your own ext directory path

 ……

extension=php_mysql.dll

 ……

extension=php_pdo.dll

 ……

extension=php_pdo_mysql.dll

After restarting apache, the access continues to report the following error:

CDbConnection could not open the database connection: could not find driver

It means that the database driver cannot be found. I checked again with phpinfo. PDO is indeed enabled, but the database supported by PDO shows no value, indicating that the php_pdo_mysql.dll extension cannot be loaded. After many attempts, including changing the version of php and changing the version of mysql. But none of them worked. Is it really impossible to enable the mysql pdo extension of php?

I searched and searched online and finally found the solution

Method 1: You need to add the path of the PHP installation directory to the system environment variable PATH, so that the problem can be solved.

Method 2: Because I deployed it on the server and the server is running, I cannot restart it. Therefore, I can also copy libmysql.dll in the PHP installation directory to the windows directory

Restart apache

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/926229.htmlTechArticleTwo methods to install the PDO_MYSQL extension in PHP. As soon as I saw the CakePHP document asking to install the pdo_mysql extension, I tried to install it. For a moment. My system here is CentOS 6.0. If your department...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn