discuz 6.0 smtp发信不成功的解决方案
[ 2009/05/22 09:48 | by Totti ]
原因:当smtp服务器反应慢或者网络比较慢时,DZ在未收到smtp服务器的回应之前就过早地把连接关闭掉,于是smtp服务器就弃掉了邮件,出现邮件被吞掉的假象。这种现象在smtp服务器及网络速度都较快时是不会出现,邮件能正常送出。
但为什么会过早地关掉连接呢?因为这是一个BUG,而且翻查后发现,这个BUG原来从旧版本一直沿袭至今。修补办法如下:
打开include\sendmail.inc.php文件
找到fputs($fp, "QUIT\r\n");这一行
在这一行之前插入如下代码:
经修正后,DZ会等待smtp服务器的正式回应后才会把连接关闭掉,保证了邮件正常发送。
转载自:
http://www.discuz.net/thread-727394-1-1.html
但为什么会过早地关掉连接呢?因为这是一个BUG,而且翻查后发现,这个BUG原来从旧版本一直沿袭至今。修补办法如下:
打开include\sendmail.inc.php文件
找到fputs($fp, "QUIT\r\n");这一行
在这一行之前插入如下代码:
$lastmessage = fgets($fp, 512);
if(substr($lastmessage, 0, 3) != 250) {
$errorlog('SMTP', "($mail[server]mail[port]) DATA - $lastmessage", 0);
}
if(substr($lastmessage, 0, 3) != 250) {
$errorlog('SMTP', "($mail[server]mail[port]) DATA - $lastmessage", 0);
}
经修正后,DZ会等待smtp服务器的正式回应后才会把连接关闭掉,保证了邮件正常发送。
转载自:
http://www.discuz.net/thread-727394-1-1.html
Windows 7 RC1及中文语言包 BT种子
[ 2009/04/28 23:11 | by Totti ]
eaccelerator调整
[ 2009/04/21 13:38 | by Totti ]
php-eaccelerator 官方網站: http://www.eaccelerator.net/
由於 PHP 屬於直譯語言,因此當放在 Web 伺器器上的 PHP 程式碼被瀏覽者所讀取時,系統為了要執行 PHP 程式碼就必須要使用直譯器(interpreter),將 PHP 程式碼翻譯成電腦系統看得懂(或可以執行)的語言。這個直譯的動作是非常耗費系統資源的,而直譯語言的特性偏偏就是每次執行前都要先進行直譯的動作,因此當您放在 Web 伺服器上的 PHP 程式碼被 1000 個 client 讀取時,系統就要進行 1000 次的直譯動作。而 PHP 加速器的功能就是會把被這些 PHP 程式碼快取(Cache)起來,也就是同一支程式碼只要被直譯一次而已,藉此大幅降低系統的負載。自己個人的經驗是:若你的 Web 伺服器流量非常大,有沒有使用 PHP 加速器會有非常大的差別。
php-eaccelerator 的安裝很容易,但麻煩的是後續的調整。一般來講,若你會需要安裝加速器通常就代表你遇上了效能的瓶頸,也就是系統負載過大所以才需要安裝它;但是 php-eaccelerator 有 BUG,當系統負載過大,php-eaccelerator 需要消除 Share Memory 中的老舊資料時,會導致 apache 出現如下的錯誤訊息並使 CPU 使用率衝上 100%,最後終將致使伺服器當機。
引用:
[Wed Feb 28 14:39:40 2007] [notice] child pid 18449 exit signal Segmentation fault (11)
就是因為負載過高才需要裝它,偏偏負載過高裝了它又會造成伺服器當機,很矛盾不是嗎?所幸經過適當的調整後,即可避免上述的情況發生。php-eaccelerator 的安裝很容易,這裡就不多做說明,至於設定則是要修改 php-eaccelerator 的系統設定檔(/etc/php.d/eaccelerator.ini),設定完後請記得重新啟動 Web 伺服器。
引用:
/etc/php.d/eaccelerator.ini:
zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size = "500"
==>預設是32MB,這裡設為500MB
eaccelerator.cache_dir = "/var/cache/php-eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "0"
==>預設是 1 (開啟),這裡設為 0 (關閉)
eaccelerator.debug = "0"
eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"
eaccelerator.name_space = ""
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
==>預設是3600,這裡設為0,也就是不移除Share Memory中的任何資料。
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"
大致上要注意的有以下幾點:
調高php-eaccelerator可使用的Share Memory大小:
eaccelerator.shm_size = "500"
.
關閉最佳化功能
eaccelerator.optimizer = "0"
.
禁止php-eaccelerator清除Share Memory中的資料:
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
.
每日定時清除cache資料與Share Memory,並重新啟動httpd。
新增 /etc/cron.daily/restart_httpd:
/sbin/service httpd stop
rm -rf /var/cache/php-eaccelerator/*
/sbin/service httpd start
由於 PHP 屬於直譯語言,因此當放在 Web 伺器器上的 PHP 程式碼被瀏覽者所讀取時,系統為了要執行 PHP 程式碼就必須要使用直譯器(interpreter),將 PHP 程式碼翻譯成電腦系統看得懂(或可以執行)的語言。這個直譯的動作是非常耗費系統資源的,而直譯語言的特性偏偏就是每次執行前都要先進行直譯的動作,因此當您放在 Web 伺服器上的 PHP 程式碼被 1000 個 client 讀取時,系統就要進行 1000 次的直譯動作。而 PHP 加速器的功能就是會把被這些 PHP 程式碼快取(Cache)起來,也就是同一支程式碼只要被直譯一次而已,藉此大幅降低系統的負載。自己個人的經驗是:若你的 Web 伺服器流量非常大,有沒有使用 PHP 加速器會有非常大的差別。
php-eaccelerator 的安裝很容易,但麻煩的是後續的調整。一般來講,若你會需要安裝加速器通常就代表你遇上了效能的瓶頸,也就是系統負載過大所以才需要安裝它;但是 php-eaccelerator 有 BUG,當系統負載過大,php-eaccelerator 需要消除 Share Memory 中的老舊資料時,會導致 apache 出現如下的錯誤訊息並使 CPU 使用率衝上 100%,最後終將致使伺服器當機。
引用:
[Wed Feb 28 14:39:40 2007] [notice] child pid 18449 exit signal Segmentation fault (11)
就是因為負載過高才需要裝它,偏偏負載過高裝了它又會造成伺服器當機,很矛盾不是嗎?所幸經過適當的調整後,即可避免上述的情況發生。php-eaccelerator 的安裝很容易,這裡就不多做說明,至於設定則是要修改 php-eaccelerator 的系統設定檔(/etc/php.d/eaccelerator.ini),設定完後請記得重新啟動 Web 伺服器。
引用:
/etc/php.d/eaccelerator.ini:
zend_extension="/usr/lib/php/modules/eaccelerator.so"
eaccelerator.shm_size = "500"
==>預設是32MB,這裡設為500MB
eaccelerator.cache_dir = "/var/cache/php-eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "0"
==>預設是 1 (開啟),這裡設為 0 (關閉)
eaccelerator.debug = "0"
eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"
eaccelerator.name_space = ""
eaccelerator.check_mtime = "1"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
==>預設是3600,這裡設為0,也就是不移除Share Memory中的任何資料。
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"
大致上要注意的有以下幾點:
調高php-eaccelerator可使用的Share Memory大小:
eaccelerator.shm_size = "500"
.
關閉最佳化功能
eaccelerator.optimizer = "0"
.
禁止php-eaccelerator清除Share Memory中的資料:
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
.
每日定時清除cache資料與Share Memory,並重新啟動httpd。
新增 /etc/cron.daily/restart_httpd:
/sbin/service httpd stop
rm -rf /var/cache/php-eaccelerator/*
/sbin/service httpd start
生活记录的越来越少了。
最近弟弟生病了,住院了3天,已经出院了,要吃药一段时间,希望药到病除,嘿嘿!
搬到了莘庄这边,快20天了,房子比原来大了许多,不过房租也贵了不少,呵呵。
生活的压力,会让自己变得更加务实,同时也更珍惜父母、姐弟,身边的朋友;半夜醒来,会很害怕生活中原有的东西突然失去。
未完待续...先吃饭。
最近弟弟生病了,住院了3天,已经出院了,要吃药一段时间,希望药到病除,嘿嘿!
搬到了莘庄这边,快20天了,房子比原来大了许多,不过房租也贵了不少,呵呵。
生活的压力,会让自己变得更加务实,同时也更珍惜父母、姐弟,身边的朋友;半夜醒来,会很害怕生活中原有的东西突然失去。
未完待续...先吃饭。
探究纯粹的CSS下拉菜单
[ 2009/04/16 11:21 | by Totti ]
详细见:http://www.helloxudan.net/2007/11/09/inquiry-pure-css-drop-down-menu.html
鼠标悬停下拉菜单在网页中很常见,一般的下拉菜单都是通过 JavaScript 对菜单的显示和隐藏进行控制,其实用纯粹的 CSS 也可以实现。用 CSS 的几点好处是,不需要考虑客户端浏览器是否禁用了 JS,而且用 CSS 实现下拉菜单效率比 JS 要高,还可以方便地制定样式和定位。我查阅了一些资料,用纯粹的 CSS 实现了下拉菜单,并且支持 IE6,分享给需要的朋友。
鼠标悬停下拉菜单在网页中很常见,一般的下拉菜单都是通过 JavaScript 对菜单的显示和隐藏进行控制,其实用纯粹的 CSS 也可以实现。用 CSS 的几点好处是,不需要考虑客户端浏览器是否禁用了 JS,而且用 CSS 实现下拉菜单效率比 JS 要高,还可以方便地制定样式和定位。我查阅了一些资料,用纯粹的 CSS 实现了下拉菜单,并且支持 IE6,分享给需要的朋友。
《爱之赠物》电子杂志创刊号
[ 2009/03/22 22:54 | by Totti ]
Totti的朋友们一起来支持,也欢迎大家参加爱之赠物的爱心助学活动。
《爱之赠物》电子杂志2009年3月春季版创刊号在线阅读地址:
http://www.mii8888.com/book/200903/online.htm
《爱之赠物》电子杂志2009年3月春季版创刊号下载地址:
http://www.mii8888.com/book/mii8888200903.zip
《爱之赠物》电子杂志2009年3月春季版创刊号在线阅读地址:
http://www.mii8888.com/book/200903/online.htm
《爱之赠物》电子杂志2009年3月春季版创刊号下载地址:
http://www.mii8888.com/book/mii8888200903.zip