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

鍍金池/ 問答/ PHP問答
哚蕾咪 回答

需要你獲取到結(jié)果數(shù)據(jù)后再自行處理

悶騷型 回答

那就是配置文件加載錯了,你加載的配置文件和你改的配置文件要一致,然后重啟php

裸橙 回答

你好 老鐵 謝邀,這個問題我們公司在寫公用組件庫的遇到過這個問題關(guān)于wepy動態(tài)插槽無法生成的問題,也提給官方了,坐等解決,如果你使用的是wepy這個框架時,使用slot記得對應的name,如果動態(tài)的要生成多個的swiperitme并且有插槽位置的話,每一個slot的name記得命為不同的,原生小程序是沒有slot這個插槽的,如果想使用slot的話 推薦使用wepy或者mpvue。

背叛者 回答

你的虛擬機安裝了什么系統(tǒng)?

ping 不通的常見原因:

  1. 虛擬機 IP 搞錯了
  2. 虛擬機防火墻阻擋了 ICMP 響應

你的端口設(shè)置沒有錯,在本地用 http://localhost:8888/ 網(wǎng)址便可。
打不開的狀況是頁面超時,還是連接被重置了?
對應的原因可能是網(wǎng)站服務器未開啟,以及虛擬機的防火墻阻擋了 80 端口。

因為你的 ssh 可用,也可以試一下用 ssh 安全隧道直通虛擬機 80 端口,繞開防火墻設(shè)置。
執(zhí)行以下命令

ssh -L 8080:127.0.0.1:80 username@hostname

然后在本地打開 http://localhost:8080/ 即可。

別傷我 回答

對于phpstorm來說,$_GET只是一個普通變量,而你在函數(shù)中,應該是有$_GET相關(guān)的數(shù)組操作,所以phpstorm判定你這個$_GET是數(shù)組,但又不確定是否還有其他形態(tài),所以后面會再加上mixed。任何無法確定的數(shù)據(jù)類型,phpstorm都會給你個mixed。

萌面人 回答

1、檢查下插件有沒有下載下來,可以去node_modules文件夾下查看,沒有的話,就像錯誤提示的那樣下載一份,npm install -save FullPage

2、檢查HelloWorid.vue組建中對于插件的引用方式對不對,如路徑,大小寫等。import FullPage from 'FullPage';

綰青絲 回答

XXXXXXXXX是什么,報錯截圖

荒城 回答

$arr=[
'caredate'=>$t,
'name'=>$name,
'content'=>$content,
'status'=>1
];
return json_encode($arr);

默念 回答

1. 如果只是單純地使用Redis作為cache組件:

'components' => [
    'cache' => [
        'class' => 'yii\redis\Cache',
    ],
],

只需要在配置文件中添加 keyPrefix 屬性即可:

'components' => [
    'cache' => [
        'class' => 'yii\redis\Cache',
        'keyPrefix' => 'webapp:'
    ],
]

2. 如果是直接使用Redis組件:

'components' => [
    'redis' => [
        'class' => 'yii\redis\Connection',
        'hostname' => 'localhost',
        'port' => 6379,
        'database' => 0,
    ],
],

這樣就沒有辦法實現(xiàn)自動加前綴,只能自己去實現(xiàn)。

如果是我的話,我會單獨寫一個Redis的helper類,只在這個 Redis helper類中調(diào)用 \Yii::$app->redis 組件。

Redis 基礎(chǔ)類,放一些基礎(chǔ)方法,各個數(shù)據(jù)類型都適用,每個數(shù)據(jù)類型都編寫一個子類,繼承這個類

class RedisBase
{
    /**
     * 這個方法中給 key 增加前綴
     * 所有與key相關(guān)的方法都要調(diào)用這個方法
     * @param $key
     * @return string
     */
    protected static function buildKey($key)
    {
        return \Yii::$app->params['redis.prefix'] . $key;
    }

    /**
     * @return \yii\redis\Connection
     */
    protected static function getRedis()
    {
        return \Yii::$app->redis;
    }

    /**
     * # exists key
     *
     * 檢查key是否存在
     * @param string $key
     * @return bool
     */
    public static function exists($key)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();
        return (bool) $redis->exists($key);
    }

    /**
     * # del key [key2 key3 …]
     *
     * 刪除指定數(shù)據(jù)
     *
     * @param string $key
     * @param bool $strict
     * 是否使用嚴格模式
     * true: 當指定鍵不存在時,返回false
     * false: 當指定鍵不存在時,但會true
     * @return bool
     */
    public static function del($key, $strict = false)
    {
        $key = self::buildKey($key);

        // 非嚴格模式,當指定鍵不存在時,但會true
        if (! $strict && ! self::exists($key)) return true;

        $redis = self::getRedis();
        return (bool) $redis->del($key);
    }

    /**
     * # expire key seconds
     *
     * 設(shè)置 key在seconds秒后過期
     *
     * @param $key
     * @param $seconds
     * @return bool
     */
    public static function expire($key, $seconds)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();
        return (bool) $redis->expire($key, $seconds);
    }

    /**
     * # ttl key
     *
     * 大于等于0時,表示剩余過期秒數(shù)
     * -1 表示key存在,并且沒有過期時間
     * -2 表示key已經(jīng)不存在了
     *
     * 查看key的剩余過期時間
     * @param $key
     * @return int
     */
    public static function ttl($key)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();
        return (int) $redis->ttl($key);
    }

    /**
     * # dbsize
     *
     * 當前db 鍵的總數(shù)量
     * @return int
     */
    public static function dbSize()
    {
        $redis = self::getRedis();
        return (int) $redis->dbsize();
    }

    // ... 其他redis基礎(chǔ)方法
}

Redis 字符串類型的方法,單獨放置在RedisString類中,繼承 RedisBase 方法

class RedisString extends RedisBase
{

    /**
     * # SET key value options
     *
     * 設(shè)置指定 key 的值
     *
     * @param $key
     * @param $value
     * @param array $options
     *
     * EX seconds -- 設(shè)置指定key的過期時間,以秒為單位
     * PX milliseconds -- 設(shè)置指定key的過期時間,以毫秒為單位
     * NX -- 只有在key不存在的情況下才設(shè)置.
     * XX -- 只有在key存在的情況下才設(shè)置.
     *
     * eg: ['NX', 'EX', '3600']
     *
     * @return bool
     */
    public static function set($key, $value, array $options = [])
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();
        $param = array_merge([$key, $value], $options);
        return (bool) call_user_func_array([$redis, 'set'], $param);
    }

    /**
     * # GET key
     *
     * 獲取指定 key 的值。
     * @param $key
     * @return string
     */
    public static function get($key)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();
        return $redis->get($key);
    }

    // ...其他String類型的方法
}

Redis 集合類型的方法,單獨放置在RedisSet類中,繼承 RedisBase 方法

class RedisSet extends RedisBase
{
    /**
     * # SADD key member1 [member2]
     *
     * 向集合添加一個或多個成員
     *
     * @param $key
     * @param $members
     * @return int 成功添加數(shù)量
     */
    public static function sAdd($key, $members)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();

        // php >= 5.6
        return (int) $redis->sadd($key, ...(array) $members);

        // 通用寫法
//        $params = array_merge([$key], (array) $members);
//        return (int) call_user_func_array([$redis, 'sadd'], $params);
    }

    /**
     * # SREM key member1 [member2]
     *
     * 移除集合中一個或多個成員
     * @param $key
     * @param $members
     * @return int
     */
    public static function sRem($key, $members)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();

        $params = array_merge([$key], (array) $members);
        return (int) call_user_func_array([$redis, 'srem'], $params);
    }

    /**
     * # SISMEMBER key member
     *
     * 判斷 member 元素是否是集合 key 的成員
     * @param $key
     * @param $member
     * @return bool
     */
    public static function sIsMember($key, $member)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();

        return (bool) $redis->sismember($key, $member);
    }

    /**
     * # SMEMBERS key
     *
     * 返回集合中的所有成員
     * @param $key
     * @return array
     */
    public static function sMembers($key)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();

        return $redis->smembers($key);
    }

    /**
     * # SCARD key
     *
     * 獲取集合的成員數(shù)
     * @param $key
     * @return bool
     */
    public static function sCard($key)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();

        return (int) $redis->scard($key);
    }
    
    // ...其他Set類型的方法

Redis 有序集合類型的方法,單獨放置在RedisSortedSet類中,繼承 RedisBase 方法

class RedisSortedSet extends RedisBase
{
    /**
     * # ZADD key score1 member1 [score2 member2]
     *
     * 向有序集合添加一個或多個成員,或者更新已存在成員的分數(shù)
     * @param $key
     * @param array $options
     * [
     *     'value1' => score1,
     *     'value2' => score2,
     *     'value3' => score3,
     * ]
     *
     * @return int
     */
    public static function zAdd($key, array $options)
    {
        $key = self::buildKey($key);
        $redis = self::getRedis();
        $param = [$key];

        foreach ($options as $value => $score) {
            $param[] = $score;
            $param[] = $value;
        }

        return (int) call_user_func_array([$redis, 'zadd'], $param);
    }
    
    // ...其他SortedSet類型的方法
}

Redis List類型的方法,單獨放置在RedisList類中,繼承 RedisBase 方法

class RedisList extends RedisBase
{
    // ...方法省略
}

Redis Hash類型的方法,單獨放置在RedisHash類中,繼承 RedisBase 方法

class RedisHash extends RedisBase
{
    // ...方法省略
}

這樣寫的好處:

1.在調(diào)用redis的原始方法前,可以對數(shù)據(jù)進行預處理
2.后期維護方便,若想修改,只需要修改這里的方法即可
3.方便添加一些注釋信息
4.這種方法對IDE更友好,可以直接跳轉(zhuǎn)到這個類中的方法,若處處使用 \Yii::$app->redis,則會比較難維護

另外,關(guān)于Redis的一些數(shù)據(jù)類型,可以查看Redis學習筆記 - 數(shù)據(jù)類型與API

瞄小懶 回答

直接帶參數(shù)便可,注意alias 后面需要留空格。如下

alias testserver='php /Applications/apache/testserver.php '
testserver abc
拮據(jù) 回答

謝邀,為什么不考慮下把用戶的完整圖片縮小至300300,放到你要合成的圖片的左側(cè)呢?如果真的只要圖片居中300300的那部分,也很簡單。假設(shè)用戶上傳的圖的長、寬分別是w,h,你在使用imagecopyresampled函數(shù)把用戶圖片放到你要合成的圖上的時候,原圖的坐標x,y分別是用(w-300)/2,(h-300)/2即可得到用戶上傳圖片的置中300*300的那塊。

薔薇花 回答

80的全部跳轉(zhuǎn)就好了。管他啥域名。。

巴扎嘿 回答

直接foreach循環(huán)遍歷不就可以了么?

選擇 回答

整體思路是房間ID+邀請碼機制(也可不加邀請碼)。

1.房主創(chuàng)建房間,生成房間ID,分享給別人時,創(chuàng)建邀請碼(邀請碼可設(shè)置為按時間、次數(shù)等進行校驗作用)
2.其他人通過分享鏈接帶參的形式,加入到房間時,向服務器校驗房間ID和邀請碼
3.房間ID不存在、房間已滿等情況,則加入失??;邀請碼過期、無效,則不符合加入條件
4.玩家進入房間時,建立websocket。符合對戰(zhàn)開始要求時,服務器推送對戰(zhàn)開始。

SP:圍觀人員為進入該房間ID,但是邀請碼已失效、房間對戰(zhàn)狀態(tài)已開始等,進入旁觀狀態(tài)。進入時,向服務器發(fā)送openid和房間id,可建立websocket,獲得玩家是否在線的狀態(tài)。

青瓷 回答

很正常,微信小程序返回給你的是圖片的二進制數(shù)據(jù),你要把它寫入文件
比如file_put_contents('img.jpg', $qr_data)

枕邊人 回答

主要是因為 doctrine/inflector v1.2.0 這個包的版本需要 php 7.0 以上。

看了下 intervention/image 的composer.json 并未有對這個包的依賴,所以可能是你 composer.json 里的其他包或者 intervention/image 依賴的包中有依賴 doctrine/inflector 才導致這樣的。

要完全解決,去重新require doctrine/inflector 支持 php5.6 的版本。

題外話:
建議升級到 PHP7.0及以上。