ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
~~~ <?php class Mysql { private static $conn; private function __construct(){ self::$conn = mysqli_connect('127.0.0.1','root','000000'); } public static function getInstance(){ if(!(self::$conn instanceof self)){ self::$conn = new self; } return self::$conn; } public function __clone(){ trigger_error('clone is not allowed!'); } } $mysql = Mysql::getInstance(); var_dump($mysql); ~~~ [root@centos6 dp]# php singleton.php object(Mysql)#1 (0) { } 扩展一:mysqli连接提示 Warning: mysqli::mysqli(): (HY000/2002): No such file or directory $mysqli = new mysqli('localhost', 'root', 'root', 'test'); 如果上面的连接地址是 localhost 就会报此错误,改成 127.0.0.1 后正常。 当主机填写为localhost时MySQL会采用 unix domain socket连接,当主机填写为127.0.0.1时MySQL会采用TCP/IP的方式连接。使用Unix socket的连接比TCP/IP的连接更加快速与安全 扩展二:PHP连接mysql数据库报错:Call to undefined function mysql_connect() 查阅资料后发现,原来是从PHP5.0开始就不推荐使用mysql_connect()函数,到了php7.0则直接废弃了该函数,替代的函数是 mysqli_connect();