在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/ PHP問答
老梗 回答

你的想法是對的,只是request返回的數(shù)據(jù)是什么樣的,得看一下

我的理解,web代表了HTTP服務(wù)。假設(shè)現(xiàn)在還有RPC服務(wù),那只要在web的同級目錄下建立rpc的目錄即可,而datamodels這類代碼是可以給webrpc等不同服務(wù)所共享的。

陌如玉 回答

發(fā)現(xiàn)原因,為了圖省事犯了個很低級的錯誤...應(yīng)該把mysqli_query($conn, $sql)提出來先執(zhí)行:

$r=mysqli_query($conn, $sql);
while ($t = mysqli_fetch_array($r)) {
    $rs[count($rs)] = $t;
}
臭榴蓮 回答

rewrite規(guī)則百度即可。
可以參考nginx配置laravel

淚染裳 回答

坑人代碼還原如下

use Event\Event;
use Event\Select;

$pid_list = [];
$parent_pid = posix_getpid();

for ($i = 0; $i < 4; ++$i)
{
    $pair = stream_socket_pair(STREAM_PF_UNIX , STREAM_SOCK_STREAM , STREAM_IPPROTO_IP);
    
    $pid = pcntl_fork();
    
    if ($pid < 0) {
        throw new Exception("創(chuàng)建子進(jìn)程失敗");
    } else if ($pid > 0) {
        // 父進(jìn)程
        fclose($pair[0]);
        
        $child = $pair[1];
        
        fwrite($child , "父進(jìn)程問候 " . posix_getpid());
        
        Select::addIo($child , Event::READ , function($ctrl , $socket , $child) use($parent_pid){
            $msg = fread($socket , 65535);
            
            echo "父進(jìn)程領(lǐng)域!父進(jìn)程 {$parent_pid} 當(dāng)前執(zhí)行進(jìn)程 " . posix_getpid() . " 消息:{$msg}" . PHP_EOL;
        } , $child);
    } else {
        // 子進(jìn)程
        fclose($pair[1]);
        $parent = $pair[0];
        fwrite($parent , "子進(jìn)程問候 " . posix_getpid());
        
        Select::addIo($parent , Event::READ , function($ctrl , $socket , $parent) use($parent_pid){
            $msg = fread($socket , 65535);
            
            echo "子進(jìn)程領(lǐng)域!子進(jìn)程 " . posix_getpid() . " 當(dāng)前執(zhí)行進(jìn)程 " . posix_getpid() . " 消息:{$msg}\n";
        } , $parent);
    }
}

產(chǎn)生的進(jìn)程信息:

父進(jìn)程:32140
子進(jìn)程:32141 32142 32143 32144

坑人的結(jié)果:

父進(jìn)程代碼領(lǐng)域下(子進(jìn)程亂入到父進(jìn)程領(lǐng)域?。?/h4>
父進(jìn)程領(lǐng)域!父進(jìn)程 32140 當(dāng)前執(zhí)行進(jìn)程 32142 消息 子進(jìn)程問候 32141
父進(jìn)程領(lǐng)域!父進(jìn)程 32140 當(dāng)前執(zhí)行進(jìn)程 32143 消息 子進(jìn)程問候 32142
父進(jìn)程領(lǐng)域!父進(jìn)程 32140 當(dāng)前執(zhí)行進(jìn)程 32144 消息 子進(jìn)程問候 32143
父進(jìn)程領(lǐng)域!父進(jìn)程 32140 當(dāng)前執(zhí)行進(jìn)程 32140 消息 子進(jìn)程問候 32144

子進(jìn)程代碼領(lǐng)域(正確)

子進(jìn)程領(lǐng)域!子進(jìn)程 32141 當(dāng)前執(zhí)行進(jìn)程 32141 消息 父進(jìn)程問候 32140
子進(jìn)程領(lǐng)域!子進(jìn)程 32142 當(dāng)前執(zhí)行進(jìn)程 32142 消息 父進(jìn)程問候 32140
子進(jìn)程領(lǐng)域!子進(jìn)程 32143 當(dāng)前執(zhí)行進(jìn)程 32143 消息 父進(jìn)程問候 32140
子進(jìn)程領(lǐng)域!子進(jìn)程 32144 當(dāng)前執(zhí)行進(jìn)程 32144 消息 父進(jìn)程問候 32140

分析:為什么子進(jìn)程會調(diào)用在父進(jìn)程定義的事件呢??

這得仔細(xì)分析 for 循環(huán)!

  • 第一次循環(huán),父進(jìn)程向 Event::$events 添加子進(jìn)程監(jiān)聽事件,子進(jìn)程平行執(zhí)行。對產(chǎn)生的第一個子進(jìn)程來說, Event::$events 為空,所以沒有拷貝到父進(jìn)程的事件。
  • 第二次循環(huán),父進(jìn)程向 Event::$events 再次添加監(jiān)聽子進(jìn)程事件,此時,對產(chǎn)生的第二個子進(jìn)程來說,Event::$events 存在一個事件!從父進(jìn)程拷貝了一個事件。
  • 第三次循環(huán),父進(jìn)程再次向 Event::$events 再次添加監(jiān)聽子進(jìn)程事件,此時,對產(chǎn)生的三個子進(jìn)程來說, Event::$events 存在兩個事件!從父進(jìn)程拷貝了兩個事件。
  • 第四次循環(huán),父進(jìn)程再次向 Event::$evnets 添加事件,此時,相對產(chǎn)生的第四個子進(jìn)程來說,Event::$events 存在三個事件,從父進(jìn)程拷貝了三個事件。

由上可知,子進(jìn)程實際也在監(jiān)聽從父進(jìn)程拷貝的事件,如果事件觸發(fā),那么監(jiān)聽該事件的父子進(jìn)程實際上都會觸發(fā)。從而出現(xiàn)了令人郁悶的:子進(jìn)程亂入到了父進(jìn)程的領(lǐng)域。

解決方法

在子進(jìn)程中,把從父進(jìn)程拷貝的事件銷毀即可。

for ($i = 0; $i < 4; ++$i)
{
    $pid = pcntl_fork();
    
    if ($pid < 0) {
        throw new Exception("創(chuàng)建子進(jìn)程失敗");
    } else if ($pid > 0) {
        // 父進(jìn)程
        Select::addIo( .... );
        // ...添加相關(guān)事件
    } else {
        // 子進(jìn)程
        // 銷毀從父進(jìn)程拷貝的事件
        Select::clear();
        
        // ....做些什么
    }
}
心沉 回答

比如A表為:questions, B表為answers

那么SQL就是

select a.id, a.title, count(b.pid) as answer_count  from questions a, answers b where a.id=b.pid group by b.pid order by answer_count DESC;
只愛你 回答

ctrl z是后臺運(yùn)行(沒有關(guān)閉),是不是因為你之前一個連接沒關(guān)閉的原因
fg調(diào)到前臺然后ctrl d或者ctrl c關(guān)上

近義詞 回答

數(shù)據(jù)庫存儲引擎使用的不對 要使用innodb

空痕 回答

人家找你的漏洞呢
不過也別太擔(dān)心,估計是一些安全平臺,比如百度云觀測什么的,

夢囈 回答

正好最近對接微信H5支付。
我們的解決方案是,讓用戶選擇。
當(dāng)用戶點擊了支付的時候,彈出一個層,有兩個按鈕已支付支付失敗。當(dāng)從微信返回的時候,用戶看到后根據(jù)點擊情況,判斷是跳轉(zhuǎn)到哪個鏈接。

奧特蛋 回答

整體的路徑是什么樣的呢?

久礙你 回答

https://docs.mongodb.com/manu...
最后發(fā)現(xiàn)php操作mongodb其實就是對mongodb操作的一種映射,可以直接去看mongodb的官方文檔,然后按照規(guī)則傳參

薔薇花 回答

因為在getAll2中. for循環(huán)里面:

$str =$str.$array[$i];

你對str進(jìn)行了重新賦值,而第一個str沒有被重新賦值,只是單純拼了個新的傳進(jìn)去.

把第二個改成這樣也是正常的:

function getAll2($array,$str=null){    
    $length = count($array);
    if($length<=1){
        echo $str.$array[0].PHP_EOL;
    }else{
        for($i=0;$i<$length;$i++){
            $temp = $array;
            array_splice($temp,$i,1);
            $str2 =$str.$array[$i];
            getAll2($temp,$str2); 
        }
    }
}
撥弦 回答

console.log(data) 的結(jié)果是 {code:200,data:{}}
arr push 的結(jié)果 你猜是什么?
。。。。這個問題你看下arr內(nèi)容啊 arr不是數(shù)組可不報錯嗎

故林 回答

可以嘗試修改charset試試
前端也可以用replace對字符串替換

陌上花 回答

0386=>`0386,微信支付的導(dǎo)出是這么處理的,加個反引號

懷中人 回答

redux會管理全局的state。
所以你只需要更新全局的state就好了。
connect高階函數(shù)會提供一個dispatch的方法,使用dispatch一個action,就會自動reducer一個state。這樣state就更新了。
state的數(shù)據(jù)通過connect函數(shù)傳入組件,在組件中通過props就可以獲取到了。

我甘愿 回答

找到問題原因,插件中的Android Support出現(xiàn)了問題,禁用就可以解決

旖襯 回答

你可以用寶塔Linux 這個管理軟件還是很好用的,可以安裝各種插件,你只需要選擇好版本然后點安裝就可以了

傲嬌范 回答

你是想把公眾號的粉絲拉到你本地數(shù)據(jù)庫?如果單個進(jìn)城拉取慢,可以開啟多個進(jìn)程跑