① 如何優雅的殺死php的死循環
首先創建一個test.txt的文件,裡面內容為空
<?php
while(true) {
if(file_get_contents('test.txt' == '')){
break;
}
....
....
do something...
sleep(6);
然後,如果要退出這個死循環,又保證都處理完了,那麼只需要,直接在test.txt中寫點東西,就OK了 你看過後很簡單吧以後不會可以向我一樣經常到後盾人平台找找相關教材看看就會了,希望能幫到你,給個採納吧謝謝(๑˙ー˙๑)
② 我們公司剛升級到PHP5.6版本,然後用phpmyadmin修改用戶的某張表裡面的插入許可權死循環,導致網站500錯誤
首先看一下資料庫數據是否修改成功(這里是許可權修改),如果沒有的話,可以檢查一下是否是伺服器的根目錄空間已經占滿或接近滿負荷,導致操作不成功;
可以在php.ini中打開display_errors=On,如果報的是HTTP 500伺服器內部錯誤,可能phpmyadmin程序的index.php文件中用到了require(./xxx.php)這樣的語句,一般是文件或資料庫許可權問題,可以將裡面的require(./xxx.php)改成 require(xxx.php)或者將上級目錄即xxx.php對應的/目錄賦予可執行許可權;
③ PHP循環語句錯誤,一直重復循環
如果你是顯示一直重復循環,應該是在循環條件語句哪裡,你看看框架里有沒有讀取到緩存的那種語句,這里是最容易死循環的了。
④ PHP,while死循環,求高手指教
while(!feof($file));
這行最後面的分號應該刪掉。分號代表一條語句結束,這樣下面的花括弧內的代碼塊就與while語句無關了,那麼while(!feof($file));就相當於 while(!feof($file)){} 這不就是死循環嗎?
⑤ php中需要使用一個死循環,但是用這個死循環的時候,電腦就死機了,這是怎麼回事呢
這個循環,你是不是要不斷的執行什麼任務?可以進行休眠,定時間隔
<?php
ignore_user_abort(); // 即使Client斷開(如關掉瀏覽器),PHP腳本也可以繼續執行.
set_time_limit(0); // 執行時間為無限制,php默認的執行時間是30秒,通過set_time_limit(0)可以讓程序無限制的執行下去
$interval=20; // 時間間隔 單位 秒
$key_file="key.txt"; // 配置文件
if (isset($_GET['s']))
{
if ($_GET['s']=="0"){ // 停止工作,但不退出
$s="false";
echo "Function is off";
}
elseif ($_GET['s']=="1"){ // 工作
$s="true";
echo "Function is on";
}
elseif ($_GET['s']=="2"){ // 退出
$s="die";
echo "Function exited";
}
else
die("Err 0:stop working 1:working 2:exit");
$string = "<?phpn return "".$s."";n?>";
write_inc($key_file,$string,true);
exit();
}
if(file_exists($key_file)){
do{
$mkey = include $key_file;
if ($mkey=="true"){ // 如果工作
///////////////////// 工作區間 //////////////////////////////////
$showtime=date("Y-m-d H:i:s");
$fp = fopen('func.txt','a');
fwrite($fp,$showtime."n");
fclose($fp);
///////////////////////////////////////////////////////////////////
}
elseif ($mkey=="die"){ // 如果退出
die("I am dying!");
}
sleep($interval); // 等待$interval分鍾
}while(true);
}
else
die($key_file." doesn't exist !");
function write_inc($path,$strings,$type=false)
{
$path=dirname(__FILE__)."/".$path;
if ($type==false)
file_put_contents($path,$strings,FILE_APPEND);
else
file_put_contents($path,$strings);
}
?>
⑥ 求助,這段php代碼為什麼會陷入死循環
這不是一個死循環, 是9個死循環。
functionfun($i=0){
$i++;
echo$i.'<br/>';
while($i<10){//首次調用這個函數的時候,這里已經是一個死循環了,
fun($i);//在這里,$i永遠是1,所以永遠小於10
}
}
fun();
執行第二次的時候,$i 永遠是2, 還是小於10,又是一個死循環, 以此類推。
如果想輸出1到10你不用寫這么復雜的, 這樣寫即可:
functionoutNumber(){
static$number=1;
echo$number;
$number+=1;
if($number>10)return;
outNumber();
}
outNumber();
⑦ 我每次打開php文件的時候,它不僅打不開還像進入了死循環,頁面一個接一個這是什麼原因謝謝
您好!很高興為您答疑。
據您所描述的情況推測,可能是您的動態代碼確實出現了死循環。建議您還是結合ide進行一下代碼調試。當然,也可以考慮使用firefox瀏覽器,利用firebug進行頁面腳本的斷點調試。
如果對我們的回答存在任何疑問,歡迎繼續問詢。
⑧ php while語句出現無限循環 如何解決
嘗試修改代碼如下:
while($sc=mysql_fetch_array($result)){
echo"用戶名:".$sc['username']." 昵稱:"
.$sc['usernc']." 真實姓名:".$sc['userzsname']
." 財富值:".$sc['usermoney'];
}
提示說明:
mysql_fetch_array() 函數的功能是:從資料庫結果集中取得一行數據,並作為數組形式返回結果。
如果取得數據正確,返回根據從結果集取得的行生成的數組,如果沒有更多行則返回 false。
你上面的代碼中,取了一行記錄,其後的 while 以其結果為循環條件,而這個循環條件在其後的循環體中,沒有再次進行更新,所以會一直死循環。
⑨ php 死循環程序已經執行,有什麼辦法退出死循環呢
伺服器端重啟PHP進程;
⑩ PHP查詢出現死循環 怎麼解決
$result_arr=$db->row;
foreach($result_arras$v){
echo$v;
}
$db->row最後查詢出來的結果是一個數組,循環數組可以用for或foreach來循環。while會造成死循環。