Home >Backend Development >PHP Tutorial >Add PDO-Mysql driver to PHP

Add PDO-Mysql driver to PHP

WBOY
WBOYOriginal
2016-08-08 09:31:281317browse

1. Question

The company has an old Linux server with an Apache+MySQL+Php structure. We want to deploy a recent PHP project on it as a test environment.

Since the new project is developed using PHP's YII framework, and the data access of the YII framework uses the PDO interface, it requires the support of the PDO_Mysql driver.

[Note: Currently, PDO has become the main way for PHP to access the database, which is also the design idea of ​​interface-oriented programming.
Higher versions of PHP also have built-in support for PDO, PDO-SQLite, and PDO-Mysql. I believe that most PHP servers now support PDO.
If you are still using the old mysql mysqli method, don't use PDO. 】

2. Ideas

There are only two ways to configure the PDO-Mysql driver for PHP,
One is to recompile, install and configure PHP, and add the --with-pdo-mysql parameter when configuring,
The other is to add a pdo-mysql extension based on the existing PHP.

Based on the principle of convenience and speed, we chose to add the pdo-mysql driver on the existing basis.

3. Specific operations

0. Prepare
First of all, you need to know where your current php is installed, assuming it is located at /user/local/php
The directory structure is roughly like this,
bin
etc
include
lib
logs
man

Find these files, which will be used below:
lib/php.ini PHP configuration file is probably familiar to you. It may also be in the etc directory, depending on your specific situation
bin/phpize This is to add new extensions to php without re-editing php
bin/php-config php-config is a script file used to obtain some PHP-related information, such as which directory PHP is installed in, what is the extension library path, etc. If you have more than one PHP version installed on your system, this parameter is useful to specify which PHP version your extension should be installed on.

In addition, you need to know where your Mysql is installed,
This assumes it is located at /usr/local/mysql


1. Download the source code of pdo-mysql driver
The URL is http://pecl.php.net/package/PDO_MYSQL. From the official website, we can see that this method is no longer encouraged to be used,
Because PDO has been integrated into the PHP kernel, you only need to add a parameter when compiling.

Follow these steps in order:

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
make
make install


At this time, the pdo-mysql driver has been compiled,
Usually it’s in this directory
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626
This is where the php extension is stored. There may already be many other extensions, such as memcache.so
Check the directory and you should already see the pdo_mysql.so library file.


2. Configure the php.ini file

vi /usr/local/php/lib/php.ini

Find the extentions configuration section, and then add pdo_mysql.so


extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension = "memcache.so"
extension = "pdo_mysql.so"

3. Restart the apache server and it’s done
apache/bin/apachectl restart

4. Check phpinfo to see if it works
Write a php file, a simple sentence phpinfo()

Open http://www.aaa.com/test.php
Search pdo
You will see the following prompt, indicating that pdo already supports the mysql driver, and you can operate the mysql database through pdo in php.
PDO drivers sqlite, sqlite2, mysql

The above introduces the addition of PDO-Mysql driver to PHP, including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

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
Previous article:Use of u method in tpNext article:Use of u method in tp