萬盛學電腦網

 萬盛學電腦網 >> 電腦基本常識 >> discuzX教程

discuzX教程

class="area"> 果你是用獨立服務器,又或者VPn、vps之類的,那麼我教你優化php.ini
注意:任何修改先做文件備份!!
首先打開你的php.ini
想知道這個文件在哪的話,把下面代碼復制到新建的文件裡面,再重命名為:discuz.php 當然,我的網站bbs.QQb4.com使用的是discuz,這個文件名是我隨便改的,這個不重要!

[code]<?php
phpinfo();
?>[/code]

用你的網站地址運行,查找Loaded Configuration File,就顯示你的php.ini的位置。

ctrl+f查找:disable_functions
找到後在=後面添加
(這裡都是禁止在php裡面執行的函數)代碼: 復制內容到剪貼板
exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink,
symlink,link,leak,fsockopen,proc_open,popepassthru,chroot,scandir,
chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,popen

上面內容請放到一行。因為保持帖子的整體效果作了換行

一般後台只用加:復制內容到剪貼板

disable_functions = system,passthru,shell_exec,com,exec,shell


查找:display_errors
如果是On的話改成Off
查找:magic_quotes_gpc
如果是Off的話改成On
查找:register_globals
如果是On的話改成Off
查找:open_basedir
後面增加
/www/:/tmp/

這裡是限制php可以訪問的目錄,後面一定要加上/,否則如果有/wwwabcd這個目錄也會被訪問得到
多個目錄用英文:分隔。如果不添加/tmp/的話Discuz!的上傳功能就無法使用
注意:以上內容在php.ini的開頭會有相關設置的提示,請按ctrl+x查找下一個,不要直接在上面修改

------------------------------

對php.ini優化
GD庫的支持
;extension=php_gd2.dll
將前面的冒號去掉,
output_buffering = Off
輸出緩存允許你甚至在輸出正文內容之後發送 header(標頭,包括cookies)行其代價是輸出層減慢一點點速度。你可以使用輸出緩存在運行時打開輸出緩存, 或者在這裡將指示設為 On 而使得所有文件的輸出緩存打開。
output_handler = ; 你可以重定向你的腳本的所有輸出到一個函數,
那樣做可能對處理或以日志記錄它有用。
例如若你將這個output_handler 設為ob_gzhandler, 則輸出會被透明地為支持gzip或deflate編碼的浏覽器壓縮。
設一個輸出處理器自動地打開輸出緩沖。
找到這個
output_buffering = Off
修改為
On
注意,不要設置數值,只需要設置為On即可。
相應的,你還可以在你的discuz後台,打開gzip支持,也是優化的一項內容。
有些朋友為了安全,還啟用了php的安全模式,這個也是一辦法
另外有些朋友需要使用全局變量和MAGIC,這是一些php程序的必備條件,discuz2.0也需要
可以打開,不過安全性能將降低,方法很簡單。
register_globals = Off ;
將其修改為On即可.
一些朋友經常反映無法上傳較大的文件或者後台備份數據經常超時
max_execution_time = 30 ; 這個是每個腳本運行的最長時間,可以自己修改加長,單位秒
max_input_time = 60 ; 這是每個腳本可以消耗的時間,單位也是秒
memory_limit = 8M ; 這個是腳本運行最大消耗的內存,也可以自己加大
upload_max_filesize = 2M ; 上載文件的最大許可大小 ,自己改吧,一些圖片論壇需要這個更大的值


如果:
php報錯顯示PHP has encountered an Access Violation at XXXXXX解決辦法
很多人說,是php版本的問題,其實不然,可以從四個地方來看這個問題

1,是否zend所需的dll文件所在目錄給的權限不夠,必須有讀取和運行的權限
2,是否使用的2003,設置過應用池,比如池中限制了什麼什麼,調整一下再試試看,是否好了,呵呵
3,php.ini有兩個地方沒有設置,而且一些程序必須用到的
將;upload_tmp_dir該行的注釋符,使該行在php.ini文檔中起作用。
upload_tmp_dir是用來定義上傳文件存放的臨時路徑,在這裡你還可以給其定義一個絕對路徑,
例如:upload_tmp_dir = d:upload  當然,此時你的d:upload目錄必須有讀寫權限。
這裡我設置為
upload_tmp_dir = c:\temp
出現這樣的錯誤語句一般是因為你的php.ini中關於session.save_path一項沒有設置好,
解決的方法是將session.save_path和session.cookie_path 設置置為
session.save_path = c:\temp
session.cookie_path = c:\temp(我沒有修改這項,我發現修改後的驗證瑪不能用)
然後在c:\目錄下建立一個temp目錄

完成以上我教你的,那麼,重啟你的php吧,最直接的方法就是重啟服務器。
好了,完成一切!

copyright © 萬盛學電腦網 all rights reserved