$con=mysqli_connect('localhost:3306','Punya','password','saain');
我的php网站,这是活的是无法连接到数据库。它在我的PC本地服务器上运行良好。当我写作的时候 localhost:3306 ,它执行 echo 我为调试写的语句。如果我只写localhost,它会给出:http 500错误.
localhost:3306
echo
qaxu7uf21#
在不知道实际错误的情况下不能说太多。但我可以根据你所给予的来假设一些事情。当你经过的时候 localhost 作为 mysqli_connect() 函数,它尝试使用unix套接字而不是tcp/ip创建连接。所以看起来要么你没有访问套接字的权限,要么你需要从宿主提供商那里获得正确的套接字信息。还有,当你把它作为localhost:3306,强制它通过tcp/ip而不是套接字连接。这就是为什么它有效。但是,你可以强迫 mysqli_connect() 函数通过提供主机名作为 127.0.0.1 .
localhost
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);
你需要联系你的主机供应商,以获得更多的细节。在您这样做之前,您的解决方案是如上所示进行连接。我希望你能理解为什么会这样:)如果你有任何疑问,尽管问。
gajydyqb2#
试着办理登机手续在这里检查synax错误是否签入?文件.php
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中创建数据库时应该获得的信息。一旦你犯了错误。把它贴在这里我们也许能给你一个更好的答案如何修复它
3条答案
按热度按时间qaxu7uf21#
在不知道实际错误的情况下不能说太多。但我可以根据你所给予的来假设一些事情。
当你经过的时候
localhost
作为mysqli_connect()
函数,它尝试使用unix套接字而不是tcp/ip创建连接。所以看起来要么你没有访问套接字的权限,要么你需要从宿主提供商那里获得正确的套接字信息。还有,当你把它作为localhost:3306,强制它通过tcp/ip而不是套接字连接。这就是为什么它有效。
但是,你可以强迫
mysqli_connect()
函数通过提供主机名作为127.0.0.1
.如果这不起作用,我假设他们在php配置中为mysql定义了不同的默认端口。您可以通过如下方式打印它:
如果这个默认端口与3306不同(这不太可能),您可以像这样将端口作为第五个参数传递给mysqli\u connect()函数。
你需要联系你的主机供应商,以获得更多的细节。在您这样做之前,您的解决方案是如上所示进行连接。
我希望你能理解为什么会这样:)如果你有任何疑问,尽管问。
gajydyqb2#
试着办理登机手续
在这里检查
synax错误是否签入?
文件.php
kknvjkwl3#
检查您的实时服务器正在运行的版本以及定位机正在运行的版本。大多数情况下,环境因素会导致这些类型的错误。我假设你的托管环境是一个共享的托管环境
有几件事你可以先找出问题。
启用错误
如果您托管在cpanel共享托管服务器上,我怀疑您是否可以更改php.ini文件。您可以做的是在运行时启用php错误,这样您将有一个正确的错误而不仅仅是500个错误。将下面的代码放在php文件的顶部
php信息文件
创建一个php.info文件来标识您的网站所在的排序环境。
cpanel有自己的mysql服务器域和端口。在cpanel中创建数据库时应该获得的信息。
一旦你犯了错误。把它贴在这里我们也许能给你一个更好的答案如何修复它