標籤

php

2020-02-05

php數據緩存memcached 集成可視化工具

Memcached安裝配置.exe 可能會報毒,可放心使用!
一、 安裝memcached服務
安裝啟動服務memcached.exe
二、 php_memcache 擴展
1、下載和 php 所需的 php_memcache.dll 擴展 ;對應PHP版本
2、解壓 php_memcache.dll 文件,到php的ext文件夾中
3、php.ini文件添加:
extension=php-xx_memcache.dll
[Memcache]
memcache.allow_failover = 1
memcache.max_failover_attempts=20
memcache.chunk_size =8192
memcache.default_port = 11211
4、重啟Apache,查看phpinfo,如果有 memcache 的說明
5、運行 example.php 文件,測試memcached服務
輸出:
Server’s version: 1.4.4-14-g9c660c0
Store data in the cache (data will expire in 10 seconds)
Data from the cache:
object(stdClass)#3 (2) { [“str_attr”]=> string(4) “test” [“int_attr”]=> int(123) }

鏈接: https://pan.baidu.com/s/1qkjKLIq010u_mUepX7KKWw 密碼: kxpp

修復win2008停止運行的情況

修復報毒情況

添加更新提醒

修復保存后不自動啟動的問題

2020-02-05

PHP array_multisort 簡單實用技巧

<?php

/*
* 參數說明:
* @param array $array1 比較的數組
* @param mixed 排序的順序,有兩種(SORT_ASC, SORT_DESC)默認是SORT_ASC, 可省略
* @param mixde 排序的標誌,有六種(SORT_REGULAR,SORT_NUMERIC,SORT_STRING,SORT_LOCALE_STRING ,SORT_NATURAL,SORT_FLAG_CASE )默認 SORT_REGULAR;
* @param array … 可以使用其他的數組,但是和之前的數組的數量相同,不相同會報錯
*
* @return array
*/

//0,可以一次對多個數組排序,或者根據某一維或多維對多維數組進行排序
$array1 = [1,2,12,4,1212,6];
$array2 = [‘qwe’, ‘asd’,’b’,’g’,’c’];
$array0 = [23,34,12,3333,332,23423];
//1,一個數組下用法
//array_multisort($array1, SORT_DESC);

/**
array(6) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(12)
[3]=>
int(4)
[4]=>
int(1212)
[5]=>
int(6)
}*/

//1,兩個數組下用法(所有數組的使用都是按第一個數組排序順序來排序,如果數組個數不對會報錯,可以自行測試下)
array_multisort($array1, $array0);
/**
array(6) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(4)
[3]=>
int(6)
[4]=>
int(12)
[5]=>
int(1212)
}
array(6) {
[0]=>
int(23)
[1]=>
int(34)
[2]=>
int(3333)
[3]=>
int(23423)
[4]=>
int(12)
[5]=>
int(332)
}
*/

//2,對於二維數組的排序,比如我們要按年齡來排序一個二維數組
$result = [
[‘name’ => ‘tom1’, ‘age’ => 20],
[‘name’ => ‘tom2’, ‘age’ => 25],
[‘name’ => ‘tom3’, ‘age’ => 10],
[‘name’ => ‘tom4’, ‘age’ => 30],
[‘name’ => ‘tom5’, ‘age’ => 10],
];

//2,對於二維數組的排序,比如我們要按年齡來排序一個二維數組
$result = [
[‘name’ => ‘tom1’, ‘age’ => 20],
[‘name’ => ‘tom2’, ‘age’ => 25],
[‘name’ => ‘tom3’, ‘age’ => 10],
[‘name’ => ‘tom4’, ‘age’ => 30],
[‘name’ => ‘tom5’, ‘age’ => 10],
];

//(1) ,以前的思路先拿到年齡欄位的一位數組,排序下,再循環兩次循環獲取其對應的值。

//現在使用下array_multisort

$age = array_column($result, ‘age’);

array_multisort($age,$result);
/*
rray(5) {
[0]=>
int(10)
[1]=>
int(10)
[2]=>
int(20)
[3]=>
int(25)
[4]=>
int(30)
}
array(5) {
[0]=>
array(2) {
[“name”]=>
string(4) “tom3”
[“age”]=>
int(10)
}
[1]=>
array(2) {
[“name”]=>
string(4) “tom5”
[“age”]=>
int(10)
}
[2]=>
array(2) {
[“name”]=>
string(4) “tom1”
[“age”]=>
int(20)
}
[3]=>
array(2) {
[“name”]=>
string(4) “tom2”
[“age”]=>
int(25)
}
[4]=>
array(2) {
[“name”]=>
string(4) “tom4”
[“age”]=>
int(30)
}
}
*/

2020-02-02

php依賴管理工具composer

       編程語言中很多都有依賴管理工具。Java有Maven,Python有pip,Nodejs有npm, 而在composer出現之前,PHP使用的是Pear, 由於Pear對於依賴管理不是很規範,使用麻煩,很少PHP開發者用到這個工具。以致於PHP的開發生態很糟糕,直到composer的出現才大大的改變的這個局面。

         composer支持php5.3以上的版本。它的意義就在於可以自動把第三方依賴工具載入進指定的文件夾,以便於統一管理,以及使用。原來PHP要使用一個第三方工具需要自己下載,然後引入項目,現在只需要配置一下composer.json,然後一條命令就可以了。

          例如前幾天一個laravel項目需要excel導出數據:

        第一步安裝laravel excel:

輸入命令$composer require maatwebsite/excel

     第二步註冊自己的導入導出服務,在config/app.php里加上:

'providers' => [
    /*
     * Package Service Providers...
     */
    Maatwebsite/Excel/ExcelServiceProvider::class,

]

以及添加一個excel Facade :

'aliases' => [

    ...

    'Excel' => Maatwebsite/Excel/Facades/Excel::class,

]

第三步 創建ExcelServiceProvider

php artisan vendor:publish --provider="Maatwebsite/Excel/ExcelServiceProvider"




接著就可以在自己的控制器里使用這個導入導出了。