以PHP方式修复连接超时(在共享服务器上)
我经常收到错误消息,连接超时的持续时间从分钟到小时不等以PHP方式修复连接超时(在共享服务器上),php,mysql,Php,Mysql,我经常收到错误消息,连接超时的持续时间从分钟到小时不等 mysqli::query(): MySQL server has gone away mysqli::mysqli(): (HY000/2002): Connection timed out 我尝试在和中对类似的问题进行相同的设置 但是在我的主机(DreamHost)上的phprc中,mysql.connect\u timeout和default\u socket\u timeout不可用 PhpMyAdmin中的SET全局语句也是不
mysqli::query(): MySQL server has gone away
mysqli::mysqli(): (HY000/2002): Connection timed out
我尝试在和中对类似的问题进行相同的设置
但是在我的主机(DreamHost)上的phprc中,mysql.connect\u timeout
和default\u socket\u timeout
不可用
PhpMyAdmin中的SET全局语句
也是不允许的,因此我无法在我的主机(DreamHost)上设置max_allowed_packet
我已经出发了
memory_limit = 128M //The max available value on my host(DreamHost)
我还将这些代码放在.php文件的开头(我认为这是徒劳的,因为它们在phprc中不可用)
有什么我可以避免的连接超时的方法吗
MySQL服务器已经消失了
?用PHP的方式
在我的.php文件中添加这个怎么样?只要
连接超时
发生,就杀死php
<?php
if(preg_match("/Connection timed out/", mysqli_connect_error()) ){
exec ( "killall -9 php55.cgi" );
//This won't work, when My php exec kill command, I get "`500 Internal Server Error`" from browser
}
?>
请试用此代码,我认为它可以满足您的要求
set_time_limit(0);
ini_set('mysql.connect_timeout','0');
ini_set('max_execution_time', '0');
请试试这个代码,我想它会满足你的要求
set_time_limit(0);
ini_set('mysql.connect_timeout','0');
ini_set('max_execution_time', '0');
您可以使用此代码设置时间限制(0);把这个代码放在文件的顶部,然后我想它会工作的你有什么样的应用程序?这是一个cli
app吗?@shafiquislam我会把这个代码放进去,然后观察它是如何运行的,谢谢@shukshin.ivan您的意思是用户使用cli应用程序连接我们的网站吗?设置时间限制
用于脚本执行,而不是mysql。您可以使用此代码设置时间限制(0);把这个代码放在文件的顶部,然后我想它会工作的你有什么样的应用程序?这是一个cli
app吗?@shafiquislam我会把这个代码放进去,然后观察它是如何运行的,谢谢@shukshin.ivan您是说用户使用cli应用程序连接我们的网站吗?set\u time\u limit
用于脚本执行,而不是mysql。