Author Archives: kemper - Page 2

mysql數據庫常有status為sleep的連接解決方法

網站訪問量大的時候,數據庫會出現sleep的連接,進程這個大多數原因是因為,程序在使用了mysql查詢以後,沒有及時釋放連接。
當然下面的方法只是解決了表面的,不會導致mysql擁堵,要根本解決要從代碼入手,找到操作數據庫以後沒有釋放連接的程序修改掉。
兩個參數mysql默認的都是28800要等好多小時以後才會釋放資源,修改時間短點以後,過一定時間超時會自己回收資源

修改方法:

1, mysql的配置文件my.conf中

[mysqld]部分

添加
interactive_timeout=30
wait_timeout=30

時間長短由自己來設定。

然後重啟mysql服務/etc/init.d/mysql restart

2,
用root登陸mysql執行命令

不過這個方法重啟mysql以後配置會變成默認。

mysql>set global wait_timeout = 10;對當前交互鏈接有效; (由於mysql的BUG所有這邊必須加global)
mysql>set global interactive_timeout = 10;對後續起的交互鏈接有效;

淺談雲端運算 (Cloud Computing)

作者:黃重憲 / 臺灣大學電機資訊學院資訊工程系


「雲端運算」=「網路」=「網路運算」。「雲端運算」不是「新技術」或「技術」。「雲端運算」是一種概念,代表的是利用網路使電腦能夠彼此合作或使服務更無遠弗屆。在實現「概念」的過程中,產生出相應的「技術」。

Read more »

提高PHP編程效率的53個要點

用單引號代替雙引號來包含字符串,這樣做會更快一些。因為PHP會在雙引號包圍的字符串中搜尋變量,單引號則不會,注意:只有echo能這麼做,它是一種可以把多個字符串當作參數的“函數”(譯註:PHP手冊中說echo是語言結構,不是真正的函數,故把函數加上了雙引號)。

Read more »

PHP語言的創始者Rasmus Lerdorf的開發祕訣

PHP語言的創始者Rasmus Lerdorf認為,程式不用寫得完美,而是要簡單有效,這是最重要,也是最困難的事。

PHP之父首度來臺分享如何架構網站擴充性、安全性和效能的祕訣。

Questions:

1. 越來越多Web 2.0網站走向應用平臺,你認為打造這類平臺的關鍵為何?
2. 如何規畫網站架構,才會具有擴充性?
3. 這種規畫網站的方式,什麼是最重要的關鍵?
4. 你是說MVC模式不利於網站擴充性?
5. 你會如何選擇開發框架呢?
6. 難道開發者不需要框架或架構嗎?
7. 網站需要規畫到多久以後的擴充需求?
8. 那麼,有任何準則是架構人員可以遵循的嗎?
9. 切割服務、拆解程式的難度是什麼?
10. 除了擴充性以外,如何提高網站效能呢?
11. 那麼,網站的安全性又需注意哪些原則?
12. 好的架構師需要什麼樣的條件?
13. 臺灣還有不少舊網站使用PHP 4,他們應該現在升級到PHP 5嗎?還是等待PHP 6?

以上是問題,若想知道解答,請看原始報導

來源出自:iThome online

ON DUPLICATE KEY UPDATE的使用

如果您指定了ON DUPLICATE KEY UPDATE,並且插入行後會導致在一個UNIQUE索引或PRIMARY KEY中出現重複值,則執行舊行UPDATE。例如,如果列a被定義為UNIQUE,並且包含值1,則以下兩個語句具有相同的效果:

mysql> INSERT INTO table (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;
mysql> UPDATE table SET c=c+1 WHERE a=1;

如果行作為新記錄被插入,則受影響行的值為1;如果原有的記錄被更新,則受影響行的值為2。
註釋:如果列b也是唯一列,則INSERT與此UPDATE語句相當:

Read more »

腦力密集產業的人才管理之道

Peopleware

書名:Peopleware:腦力密集產業的人才管理之道
作者:Tom DeMarco, Timothy Lister
譯者:方亞瀾、錢一一
出版:Dorset House Publishing Company, Incorporated; 2nd edition (February 1, 1999) / 經濟新潮社 (2007年12月)
語言:英文版 / 繁體中文版  本文摘自 猴子靈藥 [Monkey Potion]

 

這是一本談論關於「人」勝過於「管理」的書。整本書的內容環繞在人、辦公室環境與團隊相關的各種議題,用字遣詞輕鬆有趣,加上豐富生動的說明與舉例,沒有難嚼無味的管理學用語與理論,如果你正好是在資訊業界或遊戲業界工作,一定會對書中的許多內容感同身受。

Read more »

Yii 增加 AJAX 加載指示?

使用Yii 你可以非常容易的創建ajax請求和使用ajax更新內容. 但是很多時候你始終希望去顯示ajax裝載的進度指示給你的用戶。
下面是yii裡一個簡單的解決方案, 通常我們會在所有頁面無素內淡出一個80%不透明的DIV層, 同時在後台顯示一個正在裝載指示器.
這個解決方案的優點是,你不需要增加額外的html標籤到你的頁面,在執行這個ajax請求時, 增加.loading CSS樣式類到你的頁面,通常為一個div元素,並且它將在請求完成時移除。
Read more »

英雄連

團隊之所以偉大,並不是因為每個成員都很厲害,而是彼此願意互相掩護互相合作,所以形成的力量足以改變這個世界 

Read more »

儲備四十歲的能力

「各位先生,我不幹了!」。四十歲以後,如果你沒有資格說這句話,你將會憎恨自己。

一般人以為四十歲以後的工作比較難做。當然,有些事情做起來會難一點,比方早上起床而不腰酸背痛之類就是。但大多數機構裡,四十歲以後的工作輕鬆很多。責任可能會比較重大,不過四十歲以後,你的價值應該在於你的經驗、技能和判斷力,而不應在於每天工作八小時的能力。

Read more »

php中的危險函數

PHP 危險函數解釋

在編譯 PHP 時,如無特殊需要,一定禁止編譯生成 CLI 命令行模式的 PHP 解析支持。
可在編譯時使用 –disable-cli。一旦編譯生成 CLI 模式的 PHP,則可能會被入侵者
利用該程序建立一個 WEB Shell 後門進程或通過 PHP 執行任意代碼!

phpinfo()
功能描述:輸出 PHP 環境信息以及相關的模塊、WEB 環境等信息。
危險等級:中

passthru()
功能描述:允許執行一個外部程序並回顯輸出,類似於 exec()。
危險等級:高

exec()
功能描述:允許執行一個外部程序(如 UNIX Shell 或 CMD 命令等)。
危險等級:高

system()
功能描述:允許執行一個外部程序並回顯輸出,類似於 passthru()。
危險等級:高

chroot()
功能描述:可改變當前 PHP 進程的工作根目錄,僅當系統支持 CLI 模式
PHP 時才能工作,且該函數不適用於 Windows 系統。
危險等級:高

scandir()
功能描述:列出指定路徑中的文件和目錄。
危險等級:中

chgrp()
功能描述:改變文件或目錄所屬的用戶組。
危險等級:高

chown()
功能描述:改變文件或目錄的所有者。
危險等級:高

shell_exec()
功能描述:通過 Shell 執行命令,並將執行結果作為字符串返回。
危險等級:高

proc_open()
功能描述:執行一個命令並打開文件指針用於讀取以及寫入。
危險等級:高

proc_get_status()
功能描述:獲取使用 proc_open() 所打開進程的信息。
危險等級:高

error_log()
功能描述:將錯誤信息發送到指定位置(文件)。
安全備註:在某些版本的 PHP 中,可使用 error_log() 繞過 PHP safe mode,
執行任意命令。
危險等級:低

ini_alter()
功能描述:是 ini_set() 函數的一個別名函數,功能與 ini_set() 相同。
具體參見 ini_set()。
危險等級:高

ini_set()
功能描述:可用於修改、設置 PHP 環境配置參數。
危險等級:高

ini_restore()
功能描述:可用於恢復 PHP 環境配置參數到其初始值。
危險等級:高

dl()
功能描述:在 PHP 進行運行過程當中(而非啟動時)加載一個 PHP 外部模塊。
危險等級:高

pfsockopen()
功能描述:建立一個 Internet 或 UNIX 域的 socket 持久連接。
危險等級:高

syslog()
功能描述:可調用 UNIX 系統的系統層 syslog() 函數。
危險等級:中

readlink()
功能描述:返回符號連接指向的目標文件內容。
危險等級:中

symlink()
功能描述:在 UNIX 系統中建立一個符號鏈接。
危險等級:高

popen()
功能描述:可通過 popen() 的參數傳遞一條命令,並對 popen() 所打開的文件進行執行。
危險等級:高

stream_socket_server()
功能描述:建立一個 Internet 或 UNIX 服務器連接。
危險等級:中

putenv()
功能描述:用於在 PHP 運行時改變系統字符集環境。在低於 5.2.6 版本的 PHP 中,可利用該函數
修改系統字符集環境後,利用 sendmail 指令發送特殊參數執行系統 SHELL 命令。
危險等級:高