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

鍍金池/ 問答/ PHP問答
六扇門 回答

err的翻譯是

The API configuration file does not exist
API配置文件不存在
我建議你直接找后端小伙伴解決這個問題

孤巷 回答

docker 運行時php5.x 環(huán)境是可以的

不過你需要把你在本地項目的目錄映射到 docker php5.x的容器里面
docker pull php:5.3

至于你說的 tp3.2 連 mysql 可以把宿主機內(nèi)網(wǎng)ip地址加上3306端口映射到容器中 。
但這并不是一個好辦法

正確的是在docker內(nèi)創(chuàng)建一個 mysql 然后設置 php 和 mysql兩個處于同一網(wǎng)段即可。

就像上面的兄弟說的,用 docker-compose 做可以更方便。

愚念 回答

如果你的庫2就沒有sku表,可以通過mysqldump命令來把庫1中的sku表導出到文件,再把這個文件中的數(shù)據(jù)導入到庫2中即可:

$ mysqldump -uroot -proot --databases db1 --tables sku  >/tmp/sku.sql
$ mysql -uroot -proot db2 < /tmp/sku.sql

如果你庫2本身也有sku表,只是想將庫1中庫2沒有的數(shù)據(jù)更新到庫2,那么首先你得通過insert ... select語句來操作,需要注意,語句最好不要一次性插入10w數(shù)據(jù),最好按一定條件分開,比如id,因為mysql內(nèi)部有一定限制:

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 1 and 10000)
and (db2.sku沒有這條數(shù)據(jù));

INSERT INTO db2.sku
SELECT * FROM db1.sku
where 
(db1.sku.id between 10001 and 20000)
and (db2.sku沒有這條數(shù)據(jù));

希望能幫助到你。

艷骨 回答

array_filter($array, function($values){return is_array($values)?false:true;})

帥到炸 回答

'$your_name' 不會當變量解析的。

吢涼 回答
匹配user開頭
RewriteRule ^/user/(.+)$ /user/$1.php [PT,QSA,L]
eg:/user/index    ->    /user/index.php

匹配任意
RewriteRule ^/(.+)/(.+)$ /$1/$2.php [PT,QSA,L]
eg:/admin/ttt    ->    /admin/ttt.php

添加#就變?yōu)殄^點了,不建議這樣做

孤星 回答

好久沒看到想答的問題了,來一波

a. 這個問題和redis毫無關(guān)系

b. 上代碼

<?php
//splat.php
function gen() {
  global $argv;
  $max = $argv[1];
  while($max--) {
    yield(str_repeat('x', 10000));
  }
}

function noop() {

}

function getargs() {
  $arg = func_get_args();
}

function splat(...$arg) {

}

function printmemory($msg) {
  printf("%s: %d/%d\n", $msg, memory_get_usage(), memory_get_peak_usage());
}

printmemory(__LINE__);
$gen = gen();
printmemory(__LINE__);
foreach(gen() as $r) {
  crc32($r);
}
printmemory(__LINE__);
$argv[2](...$gen);
printmemory(__LINE__);
~/Desktop $ php splat.php 10000 getargs
27: 357896/394272
29: 358504/394272
33: 370816/394272
35: 382912/123779064
~/Desktop $ php splat.php 10000 noop
27: 357896/394272
29: 358504/394272
33: 370816/394272
35: 382912/123250912
~/Desktop $ php splat.php 10000 splat
27: 357896/394272
29: 358504/394272
33: 370816/394272
35: 382912/123779064
~/Desktop $ php splat.php 1000 splat
27: 357896/394272
29: 358504/394272
33: 370816/394272
35: 382912/12695544
~/Desktop $ php splat.php 100 splat
27: 357896/394272
29: 358504/394272
33: 370816/394272
35: 382912/1607672

c. 解釋

27-29-33之間,幾乎沒有內(nèi)存占用,這是所謂的"生成器節(jié)省內(nèi)存”的現(xiàn)象,也就是各種相關(guān)文章里都會解釋的,在30行迭代生成器的時候,每次循環(huán)都會進到生成器內(nèi)部去yield一次,產(chǎn)生一個大字符串,下次循環(huán)的時候循環(huán)變量又重新被賦值,之前的字符串自然會被GC回收,所以無論循環(huán)多大多少次,占用的內(nèi)存是穩(wěn)定的(包括上面的$gen=gen()也是幾乎不占內(nèi)存的)

33-35,無論被調(diào)用的函數(shù)如何,甚至noop函數(shù),都一樣會占用大量內(nèi)存,占用內(nèi)存的量明顯和次數(shù)成正比,也就是說生成器的內(nèi)容被合并到一起而占用了一整塊內(nèi)存。這其實很容易解釋,幾乎的所有語言“調(diào)用函數(shù)”的過程都是類似的

  1. 首先計算所有參數(shù),形成參數(shù)列表
  2. 生成call frame(其中包含調(diào)用被調(diào)雙方、文件行號、參數(shù)列表等等信息),壓入call stack中
  3. 控制權(quán)移交給函數(shù)內(nèi)部

(當然省略了超級多的細節(jié),比如實參形參的映射/copy啊,內(nèi)存管理啊等等什么的,和本題無關(guān))

...$args這個操作符其實影響的就是第一個階段,計算參數(shù)的時候,看到...操作符,就需要展開其中的參數(shù)來形成參數(shù)列表,那么用生成器的場合,這個階段內(nèi)存就從原有生成器的少量占用變成了完整的占用了,所以即使是空的noop函數(shù)也會占用幾乎一樣多的內(nèi)存,你的理解是正確的

回到原題的那個redis問題的話,因為重復調(diào)用redis方法一定會占用大量的額外網(wǎng)絡開銷,而一次性批量插入又鐵定逃不開內(nèi)存占用(其實你想redis擴展要發(fā)送這個批量的指令給redis,那么這塊內(nèi)存肯定是要的),比較好的方式就是分組了,每1000個或者10000個合并成一次$redis調(diào)用,mysql也好其他場景也是類似的

巫婆 回答

你得看看TP里面I函數(shù)是怎么處理的.

選擇 回答
    public function msgId($spid, $sqid)
    {
        $timeStr = time();
        //echo bindec(sprintf("%04s%05s%05s%06s%06s%022s%016s",decbin(date('m', $timeStr)),decbin(date('d', $timeStr)),decbin(date('H', $timeStr)),decbin(date('i', $timeStr)),decbin(date('s', $timeStr)),decbin($spid), decbin($sqid)));
        return bindec(sprintf("%04s%05s%05s%06s%06s%022s%016s",decbin(date('m', $timeStr)),decbin(date('d', $timeStr)),decbin(date('H', $timeStr)),decbin(date('i', $timeStr)),decbin(date('s', $timeStr)),decbin($spid), decbin($sqid)));
    }

    $this->msgId('600010','2');

在這里面給你糾正一下思路
第一: 64里面只能存0-1之間的數(shù)值,也就是說都是2進制數(shù)據(jù)
所以拼接一下2進制數(shù)據(jù)就好了

月份(1-12)(【0001-1100】區(qū)間 4位)decbin(date('m', $timeStr))
日(1-31)(【00001-11111】區(qū)間 5位)decbin(date('d', $timeStr))
時(1-24)(【00001-11000】區(qū)間 5位)decbin(date('H', $timeStr))
分(1-59)(【000001-111011】區(qū)間 6位)decbin(date('i', $timeStr))
秒(1-59)(【000001-111011】區(qū)間 6位)decbin(date('s', $timeStr))
網(wǎng)關(guān)代碼(【0~0 - 1~1】22位)decbin($spid1)
// (如果這個網(wǎng)關(guān)代碼是22位0和1組成就不用decbin,本身就是2進制了,如果不是的話,就變成二進制)
序列號(區(qū)間 16位)decbin($spid2)

網(wǎng)關(guān)代碼多少位我沒洗數(shù),序列號,什么的位數(shù)你自己調(diào)就行了%04d%06d%05d%06d%06d【%021d%016d】<-這里 如果沒算錯的話是4+5+5+6+6+22+16應該是64位了,那么這64位是一個2進制的字符串,用bindec()轉(zhuǎn)換成十進制的數(shù)值,存進數(shù)據(jù)庫里面,那么數(shù)據(jù)庫存貯的2進制數(shù)據(jù)就是符合你要的規(guī)定了,而且10進制數(shù)據(jù),8位,64字節(jié),完美

變量名用點心$spid, $sqid 我以為是一個

下面這種方法也是簡單,邏輯上不好理解,但是還是挺簡單的,學習了

$messageId = 0;
$messageId |= $m << 60;
$messageId |= $d << 55;
$messageId |= $h << 50;
$messageId |= $i << 44;
$messageId |= $s << 38;
$messageId |= $spid << 16;
$messageId |= $sqid & 0xff;
echo $messageId
心癌 回答

你可以兩個tab只有一個內(nèi)容區(qū)域放置表單, 切換tab只用來獲取當前是密碼登錄還是驗證碼登錄
然后根據(jù)這個狀態(tài)返回不同的formItem就好了這樣 點擊登錄的時候只會驗證當前對應的 formItem了

卟乖 回答

我的好像也是報這個錯 ,不過make install 還是安裝成功的(在/usr/local/php/bin/php里面)

尐飯團 回答
  1. 你裝的是redis server
  2. phpinfo中的是php版本的redis client
柒喵 回答

剛發(fā)完此貼,就看到了另一個帖子:
https://segmentfault.com/q/10...

發(fā)現(xiàn)原來官方的php:7.x-fpm鏡像是基于ubantu構(gòu)建的,當然沒有yum
所以還是采用剛開始的思路,采用apt-get來安裝相關(guān)的包,解決PHP擴展的問題就OK了

浪蕩不羈 回答

1 使用相對目錄,并且能自動創(chuàng)建缺失的目錄和文件。
2 使用配置的方式要求指定。
3 如果文件就是臨時使用,請使用tempfile模塊把文件創(chuàng)建到/tmp系統(tǒng)臨時目錄。

歆久 回答

提問是JAVA 解析?

function s(x) {return x.charCodeAt(0);}
"test.message".split('').map(s);

青裙 回答

PHP 里 json_encode 傳入的第一個參數(shù)應是數(shù)組或關(guān)聯(lián)數(shù)組, 你題目中的傳入?yún)?shù)不正確, json_encode 返回 json 字符串, js JSON.parse 后為 js 對象(或數(shù)組),