使用PHP获取错误
当我运行以下PHP代码时:使用PHP获取错误,php,mysql,pdo,Php,Mysql,Pdo,当我运行以下PHP代码时: <?php $username = "root"; $password = "allen123"; $conn = new PDO('mysql:host=localhost;dbname=test', $username, $password); ?> 您的php.ini文件中似乎有一个无效的套接字。将pdo_-mysql.default_-socket设置更改为空字符串以使用默认套接字。我在这里遇到了麻烦,但我认为pdo-mysql.default_
<?php
$username = "root";
$password = "allen123";
$conn = new PDO('mysql:host=localhost;dbname=test', $username, $password);
?>
您的php.ini文件中似乎有一个无效的套接字。将
pdo_-mysql.default_-socket
设置更改为空字符串以使用默认套接字。我在这里遇到了麻烦,但我认为pdo-mysql.default_-socket
中定义的my.cnf
的物理路径与服务器上mysqld.sock
的物理位置不同。@ohgodhy:+1(但您可能是指pdo_mysql的php.ini
。pdo_mysql的default_socket
与my.cnf
的my.cnf
不匹配。@user302975您可能只有文件所有者的读/写权限。您需要将写权限设置为“其他”能够编写它。但是这很糟糕。使用sudo.System文件不应该是世界可写的。此外,您可以使用任何文本编辑器打开它。例如,您可以使用sudo open-a TextEdit php.ini
在TextEdit中将其作为管理员进行编辑(与其他编辑器类似)。您不仅限于nano
。很高兴您的机器正常工作,即使我错了。正如我所说,您对Macports没有太多经验。
To use mysqlnd with a local MySQL server, edit /opt/local/etc/php55/php.ini and set mysql.default_socket, mysqli.default_socket and pdo_mysql.default_socket to the path
to your MySQL server's socket file.
For mysql5, use /opt/local/var/run/mysql5/mysqld.sock
For mysql51, use /opt/local/var/run/mysql51/mysqld.sock
For mysql55, use /opt/local/var/run/mysql55/mysqld.sock
For mysql56, use /opt/local/var/run/mysql56/mysqld.sock
For mariadb, use /opt/local/var/run/mariadb/mysqld.sock
For percona, use /opt/local/var/run/percona/mysqld.sock
---> Cleaning php55-mysql
---> Updating database of binaries: 100.0%
---> Scanning binaries for linking errors: 100.0%
---> No broken files found.