Time of Update: 2016-06-20
安裝擴充如下 pecl install channel://pecl.php.net/libevent-0.1.0 需要配置設定檔,在/etc/php5/mods-available 建立 libevnet.ini 寫入行 extension=libevent.so 應用擴充 sudo php5enmod libevent 使用php5 --ini 查看設定檔情況, php5 -ini 顯示內容比 --ini 多呀,顯示 extension_dir => /usr/
Time of Update: 2016-06-20
起因 js有個事件處理機制,當事件被觸發時,調用設定的回呼函數。 比如說 $("#div").on('click',function(){ // 程式碼片段}); 那麼身為世界上最好的語言,php能做到嗎? 答案是肯定的,比如 swoole $serv = new swoole_server("127.0.0.1", 9501);$serv->set(array( 'worker_num' => 8, //背景工作處理序數量 'daemonize' =>
Time of Update: 2016-06-20
現在CentOS 5.11使用的仍是比較老舊的mysql 5.0.59 伺服器版本,PHP也是使用的最高的也是5.3.3(使用yum -y install php53安裝)。從官方看5.3的最後一個版本為5.3.29已經於2014年8月份停止支援,出現的一些bug及安全性問題將會得不到修複,因此我們決定將PHP的版本升級到5.5。在安裝的時候我們使用 ./configure --prefix=/data/php.5.5.26 --with-bz2 --with-curl
Time of Update: 2016-06-20
set autocommit =0; //關閉自動認可 start transaction; //開啟一個事務; ---------------------...... commit; //正式提交事務;事務結束; commit之後,還要把set autocommit =1恢複嗎? 我看別人的案例都沒恢複,commit會自動回復? 回複討論(解決方案) 不需要
Time of Update: 2016-06-20
如這個sql 。cjPrice是600 cjNum是5.97 這種情況下 上面的sql算出的是3581.9998741149902 而計算機算出的是3582 而我用phpmyadmin執行如下sql 得到的也是3582 到底什麼問題啊 select sum(600*5.97) 這也是3582 請問到底怎麼解決啊~~~ 回複討論(解決方案) 如果你的 cjNum 不是 DECIMAL 類型的,那麼應用 round 取結果
Time of Update: 2016-06-20
發送郵件 1.為了保證安全性,需要產生發送到郵件的URL,主要參數(key(key 需要在每次運行是自動產生隨機碼)) 然後將URL發送到郵箱。 2.解析url:首先根據使用者名稱從資料庫中尋找出密鑰key和到期時間,沒有則表示該請求 是偽造的或者到期的,然後驗證簽名,驗證到期時間,都驗證通過,就可以修改密碼, 密碼修改完以後,刪除資料庫中的記錄。 註:但我並沒有用資料庫,而是用的redis. 連結上只用一個唯一碼,根據唯一碼到redis中擷取使用者的guid,
Time of Update: 2016-06-20
PHP非同步作業 廢話不說直接進入正題: 應用情境: 商務邏輯中經常會出現發送資訊,發送郵件,記錄日誌等等,這個時候用非同步再好不過了,使用者直接的體驗就是:使用的賊流暢~~ 使用技術: 1.gearman : 這個不僅僅支援PHP了其他語言也支援 2.swoole : 有PHP的擴充,用起來更方便 NOTE:感覺上 gearman = swoole + 非同步隊列; 不同點:
Time of Update: 2016-06-20
安裝; windows安裝 需要PHP版本》=5.4.且開啟mcrypt加密擴充 都不想安裝的可以從https://github.com/overtrue/latest-laravel 這裡下載大神整理好的,解壓即可使用 首先等安裝cpmposer, 提示openssl錯誤的開啟PHP.INI設定檔將extension=php_openssl.dll 前面的注釋去掉,大概在第887行。 copmposer安裝過程就不說了。 下面開始Laravel
Time of Update: 2016-06-20
Windows8.1下通過Wampserver2.5+Composer搭建Laravel5.1環境並匯入PhpStorm 技術活就是一個折騰的過程…… ?????????????????????????????????????????????????? 1.WampServer2.5安裝路徑及配置:
Time of Update: 2016-06-20
回複討論(解決方案) 我這邊很正常,把header('Content-type:image/png'); 先去掉看看有什麼錯誤輸出。 是否有安裝gd? 注釋掉header('Content-type:image/png'); 就亂碼了 phpinfo()中的gd部分 注釋掉header('Content-type:image/png'); 就亂碼了 這表示你的圖片流中含有其他資料(你可截個圖貼出來看看) 可能是有 BOM
Time of Update: 2016-06-20
$url = 'https://......'; //請求地址 $ref_url = ''//來源頁面 $data = array( //提交的資料 "param" => "", "param" => "" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT,
Time of Update: 2016-06-20
本文內容根據PHP發布時的 new files 而來,連結地址 : PHP 7 new 特性一覽 Added ?? operator Added operato 新的操作符 php// PHP 7之前的寫法:比較兩個數的大小function order_func($a, $b) { return ($a $b) ? 1 : 0);}// PHP新增的操作符 ,perfectfunction order_func($a, $b) { return $a $b;
Time of Update: 2016-06-20
如:求指點一下到底是哪裡出線問題了 ,路徑肯定是沒有錯誤的 回複討論(解決方案) 在php5.5目錄下沒有php5apache2_4.dll這個檔案,去下載一個 你的php版本下的有問題,一個是安全執行緒,一個是非安全執行緒。一個有apache的dll,一個沒有。 下另外那個就好了 http://www.cnblogs.com/BTMaster/p/3546289.html 推薦一貼,你的php和apache版本可能不一致 版本不一致導致。
Time of Update: 2016-06-20
在PHP中使用對象的時候,我們總是被告知“預設情況下對象是按照引用傳遞的”,其實這是個誤區,不完全正確。PHP的物件變數儲存的是此對象的一個標示符而不是對象值,通過此標示符可以訪問真正的對象的內容,那麼在對象作為參數被傳遞,作為結果返回,或者複製給另外一個變數時,其實傳遞的就是這個標示符,他們之間的關係是兩個變數都保持了通一標示符的拷貝,而並不是引用。 我們從下面的樣本來分析 PHPclass A {};class B {};$a = new A;$b = $a; $b->testA
Time of Update: 2016-06-20
在學習注入時,MetInfo cms中出現一個注入點,我尋到原始碼: $show = $db->get_one("SELECT * FROM $met_column WHERE id=$id and module=1"); 不懂php,看到這個,就誤以為這是參數化。參數化不是可以防注入麼,怎麼還會有注入點呢。 後面深入瞭解發現。所謂的參數話查詢,不是指程式層面的參數話,而是指資料庫介面的參數化。 形式: fetch_one('select * from user where name=?
Time of Update: 2016-06-20
foreach($rows as $k => $v){ print_r($v); echo ""; }輸出的結果Array ( [id] => 3 [title] => 張三)Array ( [id] => 7 [title] => 李四 ) Array ( [id] => 9 [title] => 王五 )Array ( [id] => 2 [title] => 趙六 ) ......現在,要把輸出的這些數組拼成一個新數組Array([
Time of Update: 2016-06-20
Pinyin 最簡單、最準確的PHP中文轉拼音的類 支援擷取拼音以及拼音的縮寫即首字母 支援utf-8、gbk等編碼 能準確匹配6千多個常用漢字 單個漢字,一句話,中英文混合都完美支援 例子utf-8版 include_once 'Pinyin.php'; echo Pinyin::getPinyin("早上好");//擷取拼音 echo Pinyin::getShortPinyin("早上好");//擷取拼音縮寫 例子gbk版
Time of Update: 2016-06-20
今天調試php永久素材上傳遇見兩個問題。 第一個問題是,media 沒找到。錯誤原因是:我們開發環境是linux,/代表路徑。最後產生環境是win server,/路徑找不到,最後改為\\才過去。 第二個問題跟不應該犯,那就是php版本原因。我們產生環境是php 5.3的版本,實際環境是php 5.6,差距真的好大,使用的cur不一樣。報的錯誤是 {"errcode":41005,"errmsg":"media data missing"}。我也是醉了。
Time of Update: 2016-06-20
$str=array("西瓜","蘋果","香蕉")$str_long="西瓜很大顆"; 回複討論(解決方案) 哪個判斷哪個? $str_long句子裡有沒有包含陣列裡面的字 $arr=array("西瓜","蘋果","香蕉");$str_long="西瓜很大顆";foreach($arr as $k=>$v){if(strpos($str_long,$v)!==false){$exists[]=$v;}}echo "";print_r($exists);echo "
Time of Update: 2016-06-20
有關 PHP 的 empty(),isset() 還有 is_null() 這三個函數的用法討論得已經很多了,而且很多資料也未必能說得很清楚。這裡再重複一次,但不是從概念去說,直接用程式例子來說話,應該記憶會比較深刻些。測試的類型如下: empty() 首先是empty的var_dump輸出: 程式輸出為: bool(true)bool(true)bool(true)bool(true)bool(true)bool(true) 從代碼中可以看出,只要資料類型是否為空白或假,