我用PHP,Mysql和Codeignater版本3创建了一个网站,然后把它放在iPage上。当我在live上传时,我会在配置文件中进行更改。
$db['default'] = array(
'dsn' => '',
'hostname' => '66.96.147.118',
'username' => 'bit_root',
'password' => 'root',
'database' => 'bit_shilp',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
我用的是codeignater版本3,在本地它工作得很好。但在实时站点上,它会给出一个错误。
请参阅此链接http://bitshilp.com/BitShilp/index.php/home
它会给出如下错误:
遇到错误
严重性:警告
消息: mysqli::real_connect():(HY000/2002):连接被拒绝
文件名: mysqli/mysqli_driver.php
行号: 161
回溯:
文件: /hermes/bosnaweb13a/b2582/ipg.bitshilpcom/BitShilp/application/controllers/Home.php行:7函数:__construct
文件:PHP行: 292函数: require_once遇到/hermes/bosnaweb13a/b2582/ipg.bitshilpcom/BitShilp/index.php错误
严重性:警告
消息:无法修改标头信息-标头已由(输出开始于/hermes/bosnaweb13a/b2582/ipg.bitshilpcom/BitShilp/system/core/Exceptions.php:272) )发送
文件名: core/Common.php
行号: 568
回溯:
文件: /hermes/bosnaweb13a/b2582/ipg.bitshilpcom/BitShilp/application/controllers/Home.php行:7函数:__construct
文件: /hermes/bosnaweb13a/b2582/ipg.bitshilpcom/BitShilp/index.php行: 292函数: require_once
谢谢。
发布于 2015-10-03 14:47:49
如果MySQL服务器已启动并正在运行,则这看起来像是传输(例如防火墙)出现了问题。第一步是尝试下面的telnet命令-如果它显示一个错误,那么问题与PHP或MySQL无关:
telnet 66.96.147.118 3306
(如果成功,它将打印mysql版本+一些随机字符)
发布于 2017-02-28 15:56:18
同样的问题也发生在我的AWS RDS MySQL上。看了各种来源,但截至本帖,几乎都缺乏答案。虽然this answer帮了我很大的忙,但我还记得在服务器上更新主机名。访问您的SSH并执行以下步骤:
cd /etc/
sudo nano hosts
现在执行,并在此处附加您的主机名:,例如:
127.0.0.1 localhost
127.0.0.1 subdomain.domain.com [if cname redirected to endpoints]
127.0.0.1 xxxxxxxx.xxxx.xxxxx.rds.amazonaws.com [Endpoints]
现在,按如下方式配置config/database.php
:
$active_group = 'default';
$query_builder = TRUE;
$db['default'] = array(
'dsn' => '',
'hostname' => '35.150.12.345',
'username' => 'user-name-here',
'password' => 'password-here',
'database' => 'database-name-here',
'dbdriver' => 'mysqli',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
其中35.150.12.345
是您的IPv4公网IP,位于ec2-dashboard > Network Interfaces > Description : RDSNetworkInterface >> IPv4 Public
IP('35.150.12.345')。
注意:请注意,只有IPV4才能在'hostname‘选项下工作。hostname,cname,domains将输出数据库连接错误。
发布于 2021-02-01 05:22:30
您可以使用以下命令检查mysql是否正在运行:
mysql.server status
如果不是,那就开始吧:
mysql.server start
同样,要停止:
mysql.server stop
https://stackoverflow.com/questions/32919571
复制相似问题