Heim >Backend-Entwicklung >PHP7 >Detaillierte Erklärung der PHP7-Installation der pdo_mysql-Erweiterung
tp5-Projekt kann lokal ausgeführt werden, aber wenn es auf dem Server (Linux+php7+nginx) geöffnet wird, erscheint die Meldung
Treiber konnte nicht gefunden werden
Der Fehler zeigt, dass PDO dies nicht gefunden hat, tp5 verwendet PDO zum Verbinden Wenn die Datenbank nicht verbunden werden kann, dann installieren Sie sie
Empfohlen (kostenlos): PHP7
Entpacken Sie das Installationspaket in PHP, geben Sie normalerweise /usr/local /src/ ein etc/pdo_mysql. Gehen Sie davon aus, dass Ihr PHP in /usr/local/php installiert ist. Führen Sie /usr/local/php/bin/phpize aus
Wenn das rote Kästchen im Bild erscheint, installieren Sie zwei Dinge
Nachdem die Installation abgeschlossen ist, sollte es in Ordnung sein
Fahren Sie mit der Ausführung fort./configure –with -php-config =/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql/ Der zweite ist der MySQL-Installationspfad
Nachdem die Ausführung abgeschlossen ist, führen Sie die Kompilierung durch it, kein Problem, weiter machen, installieren
Nach Abschluss wird ein Ordner mit pdo_mysql.soDas ist, was wir wollen, generiert.
Drucken Sie phpinfo(), um zu sehen, ob der Pfad „extension_dir“ auf den oben genannten Pfad verweist.
Wenn nicht, öffnen Sie php.ini zum Ändern. Der php.ini-Pfad befindet sich auf dieser Seite.
Es sollte kein Grund zum Schreiben sein der absolute Pfad hier, aber ich danke trotzdem, stellen Sie sicher, dass pdo_mysql.so in diesem Pfad vorhanden ist
Wenn Sie oben vergessen haben, es zu installieren, können Sie es ausführen und sehen, ob /usr/local/php/bin/php -m vorhanden ist erfolgreich installiert
Schön, ich habe es installiert, bevor ich nginx hier mehrmals neu gestartet habe, aber es öffnet sich immer noch nicht. Es stellt sich heraus, dass PHP auch neu gestartet werden muss
PHP schließen
killall php-fpm
php neu starten
/usr/local/php/sbin/php-fpm &
Nginx schließen
/usr /local/nginx/sbin/nginx -s stop //Server schließen
Nginx starten
/usr/local/nginx/sbin /nginx Starten Sie den Server
Starten Sie Nginx neu
/usr/local/nginx/sbin/nginx -s reload
OK, wenn es aktiviert ist, kann auf tp5 auch normal zugegriffen werden
Laden Sie das Quellcodepaket der pdo_mysql-Erweiterung direkt herunter. Die Download-Seite finden Sie hier: http://pecl.php.net/package/PDO_MYSQL Sie können es zuerst herunterladen und dann per FTP auf den Server übertragen.
Ich habe die Download-Adresse kopiert und mit wget direkt auf den Server heruntergeladen.
Führen Sie
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz im Verzeichnis /usr/local/src aus
Dann dekomprimieren Sie
tar -zxvf PDO_MYSQL-1.0.2.tgz
Enter Dekomprimierungsverzeichnis und führen Sie dann phpize aus. Die folgende Methode ist die gleiche wie oben
Hier ist eine Demo zum Testen von PDO und MySQL
$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)."倍"; }
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der PHP7-Installation der pdo_mysql-Erweiterung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!