Heim >Backend-Entwicklung >PHP-Tutorial >Gibt es kein mysql.default_socket in der Konfigurationsdatei von PHP7?
[Update] Ich habe gerade die Dokumentation überprüft und festgestellt, dass PHP7 die MySQL-Erweiterung nicht mehr unterstützt, aber wie soll ich das Problem lösen, dass ich nur den Link 127.0.0.1 und keinen Localhost-Link verwenden kann?
………………………………………………………………………………………………
Warum gibt es dieses Problem?
Ich habe ein PHP-Skript geschrieben, um eine Verbindung zur Datenbank herzustellen. Wenn die Adresse von MySQL 127.0.0.1 lautet, kann eine Verbindung hergestellt werden PHP-Warnung: mysqli::mysqli (): (HY000/2002): Keine solche Datei oder kein solches Verzeichnis in /home/wwwroot/default/cenyu/Goitems/Goitems/connect_mysql.php in Zeile 9
`
<code>$mysqli = new mysqli("127.0.0.1", "root", "root", "wordpress"); if (mysqli_connect_errno()) { echo 'Error: Could not connect to database. Please try again later.'; echo "\n"; exit; }else{ echo "Connect! \n"; } $sql = "SELECT * FROM wp_amz_key;"; $result = $mysqli->query($sql); /* close connection */ $mysqli->close(); </code>
Dann habe ich nach einigen Lösungen gesucht und hauptsächlich die Werte dieser drei Optionen in der Konfigurationsdatei php.ini geändert
<code>pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket=/tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock</code>
Dann tritt mein Problem auf:
Ich verwende php.ini über phpinfo. Nach dem Öffnen gibt es dort keinen Parameter sind nur die anderen beiden, und dann habe ich die Version von php.ini überprüft und festgestellt, dass es mysql.default_socket
gibt. Gibt es also kein mysql.default_socket in der Konfigurationsdatei von PHP7? mysql.default_socket
Meine Fragen sind also:
1. Es gibt ein Problem mit der Datenbankverknüpfung im Skript. Kann dies mit dieser Methode gelöst werden? 2. Enthält die php.ini-Konfigurationsdatei in PHP7 kein mysql.default_socket oder stimmt etwas mit meiner Installation nicht?
Vielen Dank im Voraus
………………………………………………………………………………………………
Warum gibt es dieses Problem?Ich habe ein PHP-Skript geschrieben, um eine Verbindung zur Datenbank herzustellen. Wenn die Adresse von MySQL 127.0.0.1 lautet, kann eine Verbindung hergestellt werden PHP-Warnung: mysqli::mysqli (): (HY000/2002): Keine solche Datei oder kein solches Verzeichnis in /home/wwwroot/default/cenyu/Goitems/Goitems/connect_mysql.php in Zeile 9`
<code>$mysqli = new mysqli("127.0.0.1", "root", "root", "wordpress"); if (mysqli_connect_errno()) { echo 'Error: Could not connect to database. Please try again later.'; echo "\n"; exit; }else{ echo "Connect! \n"; } $sql = "SELECT * FROM wp_amz_key;"; $result = $mysqli->query($sql); /* close connection */ $mysqli->close(); </code>
<code>pdo_mysql.default_socket=/tmp/mysql.sock mysql.default_socket=/tmp/mysql.sock mysqli.default_socket = /tmp/mysql.sock</code>Dann tritt mein Problem auf:
Ich verwende php.ini über phpinfo. Nach dem Öffnen gibt es dort keinen Parameter sind nur die anderen beiden, und dann habe ich die Version von php.ini überprüft und festgestellt, dass es gibt. Gibt es also kein mysql.default_socket in der Konfigurationsdatei von PHP7? mysql.default_socket
Meine Fragen sind also: mysql.default_socket
1. Es gibt ein Problem mit der Datenbankverknüpfung im Skript. Kann dies mit dieser Methode gelöst werden?
2. Enthält die php.ini-Konfigurationsdatei in PHP7 kein mysql.default_socket oder stimmt etwas mit meiner Installation nicht? Vielen Dank im Voraus
Es gibt kein
und
mysql.default_socket
Da es MySQL gibt, unterstützt PHP7 die alte MySQL-Erweiterung nicht mehr.
mysqli.default_socket
Allerdings stellen wir normalerweise eine Verbindung zu MySQL über IP und Port her. In diesem Fall ist es nicht erforderlich, einen Standard-Socket anzugeben. pdo_mysql.default_socket
Nein. Auch wenn Sie eine Verbindung zu MySQL herstellen möchten Geben Sie beim Anschließen Folgendes an:
, damit Sie sich um nichts kümmern müssen.
$db = new mysqli('127.0.0.1','root','pass','mysql',3306);
Wenn sie alle lokal sind, gibt es keinen Unterschied zwischen der Verwendung von Socket und IP-Adresse.
$db = new mysqli(null,'root','pass','mysql',null,'/path/to/mysqld.sock');
1. Überprüfen Sie, ob eine Zeile
2. Überprüfen Sie, ob die Hosts, die durch das MySQL-Konto verknüpft werden dürfen, auf 127.0.0.1 beschränkt sind