Le projet tp5 peut être exécuté localement, mais lorsqu'il est ouvert sur le serveur (linux+php7+nginx), il affiche
impossible de trouver le pilote
L'erreur montre que PDO n'a pas trouvé cela. tp5 utilise PDO pour se connecter à la base de données, s'il ne peut pas être connecté, installez-le
Recommandé (gratuit) : PHP7
Décompressez le package d'installation de php, allez généralement dans /usr/local/src /etc /pdo_mysql. Supposons que votre php soit installé dans /usr/local/php. Exécutez /usr/local/php/bin/phpize
Si la case rouge dans l'image apparaît, installez deux choses
Après l'installation est terminé Cela devrait être OK
Continuer l'exécution./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql/ Le second Installez le chemin pour mysql
. Une fois l'exécution terminée, faites-le compiler. Pas de problème. Continuez make install
. généré avec pdo_mysql.soC'est ce que nous voulons.
Imprimez phpinfo() pour voir si le chemin extension_dir pointe vers le chemin ci-dessus
Sinon, ouvrez php.ini et modifiez-le. Le chemin php.ini est sur cette page
.
Il ne devrait pas être nécessaire d'écrire le chemin absolu ici, mais je vous remercie quand même. Assurez-vous qu'il y a pdo_mysql.so dans ce chemin
Si vous oubliez de le faire. installez-le ci-dessus, vous pouvez l'exécuter et jeter un œil à /usr/local/. php/bin/php -m est-il installé avec succès
Bien, j'ai redémarré nginx plusieurs fois avant de l'installer ? il, mais il ne s'est toujours pas ouvert. Il s'avère que php doit également être redémarré
Fermer PHP
killall php-fpm
php restart
/usr/local. /php/sbin/php-fpm &
Fermer nginx
/usr/local /nginx/sbin/nginx -s stop //Fermer le serveur
Démarrer nginx
/ usr/local/nginx/sbin/nginx Démarrez le serveur
Redémarrez nginx
/usr/ local/nginx/sbin/nginx -s reload
OK, s'il est activé, tp5 est également accessible normalement
Téléchargez directement le package de code source d'extension pdo_mysql. La page de téléchargement est ici : http://pecl.php.net/package/PDO_MYSQL Vous pouvez d'abord le télécharger puis le transférer sur le serveur via FTP.
J'ai copié l'adresse de téléchargement et utilisé wget pour la télécharger directement sur le serveur.
Exécutez
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
dans le répertoire /usr/local/src puis décompressez
tar - zxvf PDO_MYSQL -1.0.2.tgz
Entrez dans le répertoire décompressé, puis exécutez phpize La méthode suivante est la même que ci-dessus
Voici une démo pour tester pdo et 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)."倍"; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!