原创 PHP工程師面臨成長瓶頸

先明確這裏所指的PHP工程師,是指主要以PHP進行Web系統的開發,沒有使用其的語言工作過。工作經驗大概在3~4年,普通的Web系統(百萬級訪問,千成級數據以內或業務邏輯不是特別複雜)開發起基本得心應手,

原创 php消息隊列

Memcache 一般用於緩存服務。但是很多時候,比如一個消息廣播系統,需要一個消息隊列。直接從數據庫取消息,負載往往不行。如果將整個消息隊列用一個key緩存到memcache裏面。對於一個很大的消息隊列,頻繁進行進行大數據庫的序列

原创 用curl 代替file_get_contents 解決獲取網絡資源的超時問題

初學php的朋友們,很容易翻一個錯誤,在寫採集程序或者調用api接口總會有線考慮到使用file_get_contents函數來或許內容,程序的訪問量不大倒是沒什麼影響,但是訪問量提升了那非常的悲劇了,你會發現服務器負載飆升,最後服務器宕機

原创 PHP的file_exists函數不支持UTF-8編碼下的中文文件目錄路徑

寫PHP函數的時候爲了判斷一個文件或目錄是否存在的基本辦法就是使用函數file_exists,以前一直使用此函數沒有怎麼過多考慮,今天寫一個功能代碼的時候突然發現在代碼編碼是UTF-8環境時,此函數不能正常的支持中文的路徑或文件名。

原创 十大PHP最佳安全實踐

導讀:本文來自知名時尚媒體ELLE(大陸版即《世界時裝之苑》)網站的香港工程師Anson Cheung。文中他例舉了有關PHP10個方面的最佳安全實踐方式,供系統管理員學習與參考。原文是《Top 10 PHP Best Security

原创 MySQL性能優化的最佳20+條經驗

1. 爲查詢緩存優化你的查詢大多數的MySQL服務器都開啓了查詢緩存。這是提高性最有效的方法之一,而且這是被MySQL的數據庫引擎處理的。當有很多相同的查詢被執行了多次的時候,這些查詢結果會被放到一個緩存中,這樣,後續的相同的查詢就不用操

原创 php如何定時執行任務

PHP的實現決定了它沒有Java和.Net這種AppServer的概念, 而http協議是一個無狀態的協議, php只能被用戶觸發, 被調用, 調用後會自動退出內存, 沒有常駐內存, 就沒有辦法準確的定時處理那麼, 如果需要用PHP定時

原创 數據庫事務必須具備的ACID特性

數據庫事務必須具備ACID特性,ACID是Atomic(原子性)、Consistency(一致性)、Isolation(隔離性)和Durability(持久性)的英文縮寫。 原子性:指整個數據庫事務是不可分割的工作單位。只有使據庫中所

原创 php curl 小例子

php curl傳輸與獲取功能 一.什麼是CURL CURL是一個利用URL語法在命令行方式下工作的文件傳輸工具。它支持很多協議: FTP,FTPS,HTTP,HTTPS,GOPHER,TELNET,DICT,FILE,LDAP.

原创 PHP中Imagick類的使用

 PHP中Imagick類,提供了比GD庫函數更爲方便和強大的圖片處理功能。          <?php /*  利用Imagick模塊處理圖像的方法 */ /*  函數說明:對比度處理  函數參數:   $type:表示增加或減

原创 PHP CURL_EXEC和 curl_setopt($ch,CURLOPT_RETURNTRANSFER, 0);1,0參數詳解

例1:CURLOPT_RETURNTRANSFER設爲true時$cu = curl_init();curl_setopt($cu, CURLOPT_URL, "www.sina.com.cn");curl_setopt($cu, CUR

原创 長連接和短連接的區別

1. TCP連接 當網絡通信時採用TCP協議時,在真正的讀寫操作之前,server與client之間必須建立一個連接,當讀寫操作完成後,雙方不再需要這個連接時它們可以釋放這個連接,連接的建立是需要三次握手的,而釋放則需要4次握手,所以

原创 redis在PHP中的基本使用案例

下載http://www.oschina.net/p/redis 解壓后里面有:lib 源文件 、examples 例子、test測試 將lib目錄拷貝到你的項目中,就可以開始你的predis操作了。 //使用autoload加載

原创 保證PHP網站安全的一些編程技巧

網站的安全是我們必須要考慮的問題,只要我們做好了防範措施,就可以基本防止一些人利用網站本身的漏洞進行網站操作了。比如用htmlentities()預防XSS攻擊,用mysql_real_escape_string防止sql注入等等。