Home  >  Article  >  Backend Development  >  Detailed explanation of php7 installation pdo_mysql extension

Detailed explanation of php7 installation pdo_mysql extension

coldplay.xixi
coldplay.xixiforward
2021-04-30 11:43:073848browse

Detailed explanation of php7 installation pdo_mysql extension

tp5 project can be run locally, but when opened on the server (linux php7 nginx), it prompts

could not find driver

The error shows that PDO did not find this. tp5 uses PDO to connect to the database. If the connection cannot be made, then install it

Recommended (free):PHP7

The first step:

In the installation package extracted from php, generally enter /usr/local/src/etc/pdo_mysql inside. Assume that your php is installed in /usr/local/php. Execute /usr/local/php/bin/phpize
Detailed explanation of php7 installation pdo_mysql extension
If the red box in the picture appears, install two things
Detailed explanation of php7 installation pdo_mysql extension
Detailed explanation of php7 installation pdo_mysql extension
After the installation is completed It should be OK

Continue execution./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql/ The second one Install path for mysql
Detailed explanation of php7 installation pdo_mysql extension
After the execution is completed, make compile it. If there is no problem, continue make install
Detailed explanation of php7 installation pdo_mysql extension
When completed, a folder will be generated with pdo_mysql.soThis is what we want.
Print phpinfo() to see if the extension_dir path points to the path above.
Detailed explanation of php7 installation pdo_mysql extension
If not, open php.ini and modify it. The php.ini path is on this page.
Detailed explanation of php7 installation pdo_mysql extension
Detailed explanation of php7 installation pdo_mysql extension
There should be no need to write the absolute path here, but I still thank you. Make sure there is pdo_mysql.so in this path

If you forget to install it above, you can run it and take a look at /usr/local/ Is php/bin/php -m installed successfully?
Detailed explanation of php7 installation pdo_mysql extension

Nice, I have restarted nginx several times after installing it here, but it still does not open. It turns out that php also needs to be restarted

Close PHP
killall php-fpm

php restart
/usr/local/php/sbin/php-fpm &

Close nginx
/usr/local /nginx/sbin/nginx -s stop //Close the server

Open nginx
/usr/local/nginx/sbin/nginx Open the server

Restart nginx
/usr/ local/nginx/sbin/nginx -s reload

Detailed explanation of php7 installation pdo_mysql extension
OK, turned on, tp5 can also be accessed normally

If there is no php installation package in the src directory

Directly download the pdo_mysql expansion source code package. 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 used wget to download it directly to the server.
Execute in the /usr/local/src directory
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 then execute phpize. The following method is the same as above.

Here is a demo for testing pdo and mysqli

$pdo_startTime = microtime(true);for($i=1;$i<=100;$i++){    $pdo = new PDO("mysql:host=locahost;dbname=xf","root","root");
}$pdo_endTime = microtime(true);$pdo_time = $pdo_endTime - $pdo_startTime;echo $pdo_time;echo "<hr/>";//通过mysql链接数据库$mysqli_startTime = microtime(true);for($i=1;$i<=100;$i++){
    mysqli_connect("host","username","123","xf");
}$mysqli_endTime = microtime(true);$mysqli_time = $mysqli_endTime - $mysqli_startTime;echo $mysqli_time;echo "<hr/>";if($pdo_time > $mysqli_time){    echo "pdo的连接时间是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{    echo "mysqli的连接时间是pdo的".round($mysqli_time/$pdo_time)."倍";
}

##

The above is the detailed content of Detailed explanation of php7 installation pdo_mysql extension. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete