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
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
If the red box in the picture appears, install two things
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
After the execution is completed, make compile it. If there is no problem, continue make install
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.
If not, open php.ini and modify it. The php.ini path is on this page.
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?
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
OK, turned on, tp5 can also be accessed normally
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!