php无法连接到live web服务器上的mysql数据库

fumotvh3  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(298)
$con=mysqli_connect('localhost:3306','Punya','password','saain');

我的php网站,这是活的是无法连接到数据库。它在我的PC本地服务器上运行良好。当我写作的时候 localhost:3306 ,它执行 echo 我为调试写的语句。如果我只写localhost,它会给出:
http 500错误
.

qaxu7uf2

qaxu7uf21#

在不知道实际错误的情况下不能说太多。但我可以根据你所给予的来假设一些事情。
当你经过的时候 localhost 作为 mysqli_connect() 函数,它尝试使用unix套接字而不是tcp/ip创建连接。所以看起来要么你没有访问套接字的权限,要么你需要从宿主提供商那里获得正确的套接字信息。
还有,当你把它作为localhost:3306,强制它通过tcp/ip而不是套接字连接。这就是为什么它有效。
但是,你可以强迫 mysqli_connect() 函数通过提供主机名作为 127.0.0.1 .

$con = mysqli_connect('127.0.0.1','Punya','password','saain');

如果这不起作用,我假设他们在php配置中为mysql定义了不同的默认端口。您可以通过如下方式打印它:

echo ini_get("mysqli.default_port");

如果这个默认端口与3306不同(这不太可能),您可以像这样将端口作为第五个参数传递给mysqli\u connect()函数。

$con = mysqli_connect('127.0.0.1','Punya','password','saain', 3306);

你需要联系你的主机供应商,以获得更多的细节。在您这样做之前,您的解决方案是如上所示进行连接。
我希望你能理解为什么会这样:)如果你有任何疑问,尽管问。

gajydyqb

gajydyqb2#

试着办理登机手续
在这里检查
synax错误是否签入?
文件.php

kknvjkwl

kknvjkwl3#

检查您的实时服务器正在运行的版本以及定位机正在运行的版本。大多数情况下,环境因素会导致这些类型的错误。我假设你的托管环境是一个共享的托管环境
有几件事你可以先找出问题。
启用错误
如果您托管在cpanel共享托管服务器上,我怀疑您是否可以更改php.ini文件。您可以做的是在运行时启用php错误,这样您将有一个正确的错误而不仅仅是500个错误。将下面的代码放在php文件的顶部

<?php
error_reporting(E_ALL);
ini_set("display_errors", "On");

php信息文件
创建一个php.info文件来标识您的网站所在的排序环境。

<?php
  phpinfo();
?>

cpanel有自己的mysql服务器域和端口。在cpanel中创建数据库时应该获得的信息。
一旦你犯了错误。把它贴在这里我们也许能给你一个更好的答案如何修复它

相关问题