PHP+MySQL+Dreamweaver整合教學(PHPMaker運用設計網站教學):快速設計網站與網頁
總教頭特別企畫【專業整合課程】比傳統的學習的還要快速與實用!


感謝您造訪 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地。 你可進入教學詳細內容介紹頁面,詳細瞭解PHP程式設計+MySQL資料庫(PHPMaker運用設計網站教學)及相關技術維護影片教學(完整配套措施),馬上可以設計架站程式與PHP網頁,快速建立MySQL資料庫、自動生成PHP網頁。可對資料庫進行瀏覽、修改、查詢、加入和刪除(整合成我們需要的網站)。

要在網路上經營網站賺大錢,不能只會下載現有的程式來架站(自己設計才能完全符合專業的特殊需求),你不用死背PHP語法,更可以完全不用花錢用購買資料庫(PHPMySQL完全免費!)你可以透過技術學習,讓PHP程式網頁+網路資料庫+Dreamweaver整合教學→讓你快速成為:【動態網站程式設計專家→你能因此賺大錢】!

 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php


PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用教學)密訓基地  總教頭  敬上

  • 1 
瀏覽模式: 普通 | 列表

PHP代碼自動生成工具-PHPMaker 7 繁體中文化版

PHP代碼自動生成工具-PHPMaker 7 繁體中文化版

PHPMaker 是由 e.World Technology 開發的 PHP 代碼自動生成工具。
PHP代碼自動生成工具,一款在Windows平台上運行的基於MYSQL資料庫自動生成PHP腳本的軟體。
使用生成的PPHP代碼自動生成工具,一款在Windows平台上運行的基於MYSQL資料庫自動生成PHP腳本的軟體。
使用生成的PHP代碼,你可以通過WEB網頁對資料庫的記錄進行瀏覽、修改、查詢、加入和刪除。
利用它你只需幾步就可以得到完整的PHP代碼。
清晰易懂的生成代碼,方便開發人員在其基礎上二次開發。

attachments/201009/4740736531.png

PHPMaker是一個強大的自動化工具,可以生成一套完整的PHP迅速從 MySQL和PostgreSQL,Microsoft Access和Microsoft SQL Server資料庫。
使用PHPMaker,你可以立即建立的網站,容許使用者檢視,編輯,搜尋,加入和刪除記錄在網頁上。
PHPMaker是專為高度的彈性,許多選項可以生成PHP應用程式最適合您的需要。
生成的代碼是乾淨,簡單和易於定制。
PHP的腳本可以運行在Windows伺服器(MySQL的/ PostgreSQL的/訪問 / MSSQL)或Linux / Unix伺服器(MySQL的/ PostgreSQL的)。
PHPMaker噸可以節省你的時間和適合初學者和有經驗的develpers一樣。

attachments/201009/2973111442.png
 
PHPMaker is a powerful automation tool that can generate a full set of PHP quickly from MySQL, PostgreSQL, Microsoft Access and Microsoft SQL Server databases.
Using PHPMaker, you can instantly create web sites that allow users to view, edit, search, add and delete records on the web.
PHPMaker is designed for high flexibility, numerous options enable you to generate PHP applications that best suits your needs.
The generated codes are clean, straightforward and easy-to-customize.
The PHP scripts can be run on Windows servers (MySQL/PostgreSQL/Access/MSSQL) or Linux/Unix servers (MySQL/PostgreSQL).
PHPMaker can save you tons of time and is suitable for both beginners and experienced develpers alike.

提示: PHP代碼自動生成工具-PHPMaker 7原版是英文版,中文化非常不容易(有些字串不能動,否則生成程式時會發生錯誤,程式變成廢物不能用),再則生成程式的編碼只有一種,中文有Big5與UTF-8兩種編碼,程式編碼如果不修改則中文會產生『亂碼』如此好工具國人根本無法使用,目前全世界都找不到繁體中文化版(注意:不是封包語系檔喔!)。總教頭發很多時間修改,終於完成完整的【PHPMaker 7 繁體中文化版】,配合影片教學,那設計PHP程式結合MySQL資料庫的運用就得以快速產生,真可說是:PHP結合MySQL程式開發的神兵利器,再配合使用DreamweaverCSS樣式修改美化版面,那就可以讓很多PHP網站程式依據自己需要開發了!所以報名學習:【PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)】課程就可獲得【PHPMaker 7 繁體中文化版】及程式開發技術!獨家技術、讓你快速商業運用,成為PHP程式開發高手。


標籤: PHPMaker

詳細學習PHP的日期時間函數date()

詳細學習PHP的日期時間函數date()

1.年--
echo date('Y-m-j');
2007-02-6

echo date('y-n-j');
07-2-6

大寫Y表示年四位元數字,而小寫y表示年的兩位元數字;
小寫m表示月份的數字(帶前導),而小寫n則表示不帶前導的月份數字。

echo date('Y-M-j');
2007-Feb-6

echo date('Y-m-d');
2007-02-06

大寫M表示月份的3個縮寫字元,而小寫m則表示月份的數字(帶前導0);
沒有大寫的J,只有小寫j表示月份的日期,無前導o;若需要月份帶前導則使用小寫d

echo date('Y-M-j');
2007-Feb-6

echo date('Y-F-jS');
2007-February-6th

大寫M表示月份的3個縮寫字元,而大寫F表示月份的英文全寫。(沒有小寫f)
大寫S表示日期的尾碼,比如“st”、“nd”、“rd”和“th”,具體看日期數字為何。

小結:
表示年可以用大寫的Y和小寫y;
表示月可以用大寫F、大寫M、小寫m和小寫n(分別表示字元和數位的兩種方式);
表示日可以用小寫d和小寫j,大寫S表示日期的尾碼。

2
.時::
預設情況下,PHP解釋顯示的時間為“格林威治標準時間”,與我們本地的時間相差8個小時。

echo date('g:i:s a');
5:56:57 am

echo date('h:i:s A');
05:56:57 AM

小寫g表示12小時制,無前導0,而小寫h則表示有前導012小時制。
當使用12小時制時需要表明上下午,小寫a表示小寫的“am”和“pm”,大寫A表示大寫的“AM”和“PM”。

echo date('G:i:s');
14:02:26

大寫G表示24小時制的小時數,但是不帶前導的;使用大寫的H表示帶前導的24小時制小時數

小結:
字母g表示小時不帶前導,字母h表示小時帶前導;
小寫gh表示12小時制,大寫GH表示24小時制。

3
.閏年、星期、天

echo date('L');
今年是否閏年:0

echo date('l');
今天是:Tuesday

echo date('D');
今天是:Tue

大寫L表示判斷今年是否閏年,布林值,為真返回1,否則為0
小寫l表示當天是星期幾的英文全寫(Tuesday)
而使用大寫D表示星期幾的3個字元縮寫(Tue)

echo date('w');
今天星期:2

echo date('W');
本周是全年中的第 06

小寫w表示星期幾,數位形式表示
大寫W表示一年中的星期數

echo date('t');
本月是 28

echo date('z');
今天是今年的第 36

小寫t表示當前月份又多少天
小寫z表示今天是本年中第幾天

4
.其他

echo date('T');
UTC
大寫T表示伺服器的時間區域設置

echo date('I');
0
大寫I表示判斷當前是否為夏令時,為真返回1,否則為0

echo date('U');
1170769424
大寫U表示從197011到現在的總秒數,就是Unix時間紀元的UNIX時間戳。

echo date('c');
2007-02-06T14:24:43+00:00
小寫c表示ISO8601日期,日期格式為YYYY-MM-DD,用字母T來間隔日期和時間,時間格式為HH:MM:SS,時區使用格林威治標準時間(GMT)的偏差來表示。

【文章標題】: 站模版設計工具(主題布景產生器)-Artisteer.v2.5.31067 繁體中文化版
【文章作者】: 軟體中文化密訓基地-總教頭
【作者信箱】: steven8ster@gmail.com
【作者首頁】: http://por.tw/f2blog
【軟體中文化課程】: http://por.tw/f2blog/2009-tchinese/index.html
【內容分類】: 站模版設計工具(主題布景產生器)
【附件大小】: 68.2MB
【基地主機】: http://visdacom.com/f2blog
【解壓密碼】: 軟體中文化教學密訓基地
【版權聲明】: 【原創】軟體中文化密訓基地,轉載必須保留完整標頭。刪除者依法追究!
--------------------------------------------------------------------------------
【文章內容】
  站模版設計工具(主題布景產生器)-Artisteer.v2.5.31067 繁體中文化版
 
  您還在一步一步、慢慢地修改佈景主題程式碼和CSS嗎?
  其實,有更好的辦法!使用Artisteer.v2.5.31067 繁體中文版就對啦!
 
  你是否曾經為了尋找一個適合的佈景主題找了半天,找到了又為了修改成自己想要的樣子,又修改了半天,最後發覺想呈現更好的網站,需要浪費很多的時間。
 
  從現在開始,你不用再浪費寶貴的時間慢慢地尋找佈景主題,有了 Artisteer,你能夠在很短的時間內,透過功能強大的 Artisteer佈景主題產生器,你將製作出任何你夢想中的佈景主題。
 
  Artisteer是「唯一」一套能夠自動製作出佈景主題的軟體。
  透過 Artisteer,你不需要了解HTML、CSS及其他任何的程式語言。
  當然,你也不需要學會 Dreamweaver和 Photoshop,只要按幾個鍵,你就能為自己的CMS(Wordpress、Joomla、Blogger、Drupal...產生出漂亮的佈景主題。
 
 Artisteer特色
  ‧支援多國語系,(總教頭已經繁體中文化完成,找總教頭就有繁體中文版啦!)
  ‧自動化的設計:任何設計元素的定位、調整,圖片的顏色及大小、對比,邊框
  的顏色、形狀...,許多智慧圖片處理效果,讓你的佈景主題設計自動的變得更
  美觀
  ‧設計元素:可輕易調整CMS中任何的設計元素,如:版面編排、背景、標頭、導航列
  內文及按紐...
  ‧精準的控制:可讓你控制基本的網頁元素,像是版面編排、版面配色以至於選單的
  漸層
  ‧容易使用:幾乎不用學習,甚至連一個六歲大的小朋友在30分鐘內也能輕易上手
 
  使用 Artisteer 可以讓你在幾分鐘內建立 WordPress 的部落格主旨和專業水平的網站模版。
 
  傻瓜式模版製作利器——Artisteer是一個網站模版設計工具,使用傻瓜式模版製作利器Artisteer可以讓你在幾分鐘內建立 WordPress的部落格主旨和專業水平的網站模版。Artisteer採用獨特的方法,不需要任何編碼或CSS的知識來設計模版,整個過程完全傻瓜式 操作,該計劃內含各種背景圖片,紋理,照片剪貼畫,字型的主旨和其它設計元素,以說明你建立模版,而不需要額外的資源。成品模版可以匯出為 WordPress的主旨或內容管理系統模版,使用傻瓜式模版製作利器Artisteer來製作主旨是再合適不過了。
   
  Artisteer的軟體設計簡潔大方,讓使用者在設計主旨中能夠輕鬆上手,而對於製作WordPress主旨,更考慮到每一個頁面的各個細節,製作完畢以後,可以直接輸出WordPress主旨包,立刻就可以使用,實在是非常方便。
 
 
  Artisteer是一個網站模版設計工具,使用 Artisteer 可以讓你在幾分鐘內建立 WordPress 的部落格主旨和專業水平的網站模版。
  Artisteer 採用獨特的方法,不需要任何編碼或 CSS 的知識來設計模版,整個過程完全傻瓜式操作,該計劃內含各種背景圖片,紋理,照片剪貼畫,字型的主旨和其它設計元素,以說明你建立模版,而不需要額外的資源。
  成品模版可以匯出為 WordPress 的主旨或內容管理系統模版,使用傻瓜式模版製作利器 Artisteer 來製作主旨是再合適不過了。
 
  Artisteer 的軟體設計簡潔大方,讓使用者在設計主旨中能夠輕鬆上手,而對於製作 WordPress 主旨,更考慮到每一個頁面的各個細節,製作完畢以後,可以直接輸出 WordPress 主旨包,立刻就可以使用,實在是非常方便。
 
  整個過程完全傻瓜式,沒有繁瑣的操作過程。
  只要短短的幾分鐘就能製作出一個非常美觀的主旨。
  傻瓜式模版製作利器—— Artisteer 可以快速說明你建立主旨模版,不需要任何額外的資源,成品模版可以匯出為 WordPress 的主旨或內容管理系統模版,立刻就可以使用,非常方便;可見使用傻瓜式模版製作利器 Artisteer 來製作主旨是再合適不過了。
 
  Artisteer的是第一個也是唯一的網頁設計自動化產品,創造精彩瞬間看,獨特的網站模版和部落格的主旨。
 
  *設計真棒WordPress的部落格,專業的Joomla!和Drupal模版,並在幾分鐘內很酷的網站設計
  *易於使用
  *無需學習的Photoshop,CSS,HTML格式或其他技術
  *匯出為 WordPress的主旨或CMS模版
 
  Artisteer你馬上成為 Web設計專家,編輯和切片圖像,編碼的XHTML和CSS,創造網頁設計模版,Joomla模版,Drupal主旨,WordPress的主 旨,DotNetNuke的皮膚,和Blogger的所有模版在幾分鐘內,沒有 Photoshop或Dreamweaver,無技術技能。
 
  十大使用Artisteer的理由:
 
  1。生成超酷的網頁設計與想法。
  2。調整產生的設計,可以建立非常好看Web和模版。
  3。建立完全正確的,有效的HTML和CSS,這符合Web標準。
  4。你不需要學習的Photoshop,CSS,HTML和其他Web技術建立美觀的設計,內含圖片和按鈕。
  5。如果你是一個網頁設計師,產生的想法,原型和快速的網站為您的客戶和朋友。
  6。選取並使用了許多內含設計元素,從背景的照片物件和按鈕。
  7。自動解決問題的圖像失真,Web瀏覽器的相容性和其他細節需要時間和知識。
  8。瞭解如何建立專業的HTML和CSS代碼。
  9。省錢對 Wordpress主旨和網頁設計模版。
  10。如果你沒有時間,租你的孩子造成極大的期待為您設計網站。
 
  上菜啦!各位看倌請慢用!

attachments/201010/6825686022.png
 
--------------------------------------------------------------------------------
【補充說明】
 
  Artisteer is the first and only Web design automation product that instantly creates fantastic looking,
  unique website templates and blog themes.
 
  * Design awesome WordPress Blogs, professional Joomla! and Drupal templates, and cool Website designs in
  Minutes
  * Easy to Use
  * No need to learn Photoshop, CSS, HTML or other technologies
  * Export as Wordpress Theme or CMS Template
 
  With Artisteer YOU immediately become a Web design expert, editing and slicing graphics, coding XHTML and
  CSS, and creating Web Design Templates, Joomla templates, Drupal themes, Wordpress themes, DotNetNuke
  skins, and Blogger templates all in minutes, without Photoshop or Dreamweaver, and no technical skills.
 
 
  Top 10 reasons to use Artisteer
 
  1. Generate cool Web design ideas.
  2. Adjust generated designs to create great looking Web and Blog templates.
  3. Create perfectly correct, validated HTML and CSS that conform to Web standards.
  4. You don't need to learn Photoshop, CSS, HTML and other Web technologies to create great looking designs,
  including images and buttons.
  5. If you are a Web designer, generate ideas, prototypes and quick Websites for your clients and friends.
  6. Choose and use many included design elements, from backgrounds to photo objects and buttons.
  7. Automatically solve problems with image aliasing, Web browser compatibility and other details requiring
  time and knowledge.
  8. Learn how to create professional HTML and CSS code.
  9. Save money on Wordpress Themes and Web design templates.
  10. If you don't have the time, hire your kids to create great looking web design for you.
 
  站模版設計工具(主題布景產生器)-Artisteer.v2.5.31067 繁體中文化版下載之檔案位址:
 
  http://por.tw/Downloads/Artisteer.v2.5.31067.rar
 
--------------------------------------------------------------------------------
你還在自己摸索如何將英文、日文或簡體中文軟體如何繁體中文化嗎?有【技術顧問服務】可諮詢嗎?
往往一個問題無法解決你可能要發很多時間處理(或許永遠找出答案)那就是軟體中文化痛苦的開始!
購買【軟體中文化】函授課程錄影DVD教學課程,你就可獲得【軟體中文化】技術的【顧問諮詢服務】

PHP程式設計時日期錯誤,PHPDate()出現錯誤的具體解決辦法

PHPDate()出現錯誤的具體解決辦法

PHPDate()出現錯誤對於新手來說是比較頭疼的一件事情。
我們給出了具體的解決方法,希望對大家有所說明。

我們在運用PHPDate()這個函數取得時間資料的時候,經常會遇到不準確等一系列問題。
下面我們將為大家具體講解PHPDate()出現錯誤的關聯解決辦法。


取得系統時間時,發現取得的時間與系統的時間不符。
今天用echo date("Y-m-dH:i:s")取得系統時間時,發現取得的時間與系統的時間不符。

PHP是外國人開發的,所以經常有很多東西不太好用。
研究了一番發現,PHP預設設定的時間是以格林威治時區為標準的,表現是和北京時間差8個小時,因此我們需要將其+8個小時,原理是我們正好位於時區的東8區,所以我們必須把PHP的時區設定改為台北時間。

PHPDate()出現錯誤的具體解決方法:

開啟PHP.ini檔案,一般在PHP的安裝根目錄下
找到其中的:date.timezone
刪掉date.timezone前面的分號,並改成:date.timezone=Asia/Taipei
存檔,並重新啟動Apahce服務(有時用Apache的restart功能會有問題,建議先stop然後再start)
重新檢驗一下echodate("Y-m-dH:i:s")。
是不是時間還原標準了
--------------------------------------------------------------------------------------
如果無法改動PHP.ini檔案,也可以在輸出時間之前使用date_default_timezone_set()設定時區

date_default_timezone_set('Asia/Shanghai');

函數date_default_timezone_set(timezone)與date_default_timezone_get()

以上就是PHPDate()出現錯誤的關聯解決方法。

--------------------------------------------------------------------------------------
調整時區

<?echo date("Y-m-d H:i:s",mktime (date(H)+15, date(i), date(s), date(m), date(d), date(Y)))?>
--------------------------------------------------------------------------------------

解決MySQL server has gone away的問題

解決MySQL server has gone away的問題

 
你是否曾遇見過 「MySql serverhas gone away」,一句讓人其實非常琢磨不透的錯誤訊息。

對這個問題請先別懷疑自己的代碼是否有問題,其實可能只不過是一個小小的設定問題。

我所碰到的情況就是,當你有大資料(資料大小大於1M)儲存到longblob欄位時,會出現這個問題。

起初也查了很久,是不是自己的代碼出錯,但使用的是PHP,不會向哪類編譯型語系有資料越界的可能,百思不得其解。

最終看了下mysql.ini,發現max_allowed_packet=1M,是不是這個預設設定值造成了此問題,把此設定值修改成max_allowed_packet=16M,問題真的解決了。

因此碰到此問題請先檢查自己的設定值是否有問題。

補充一句,不同版本的Mysql,此問題的錯誤訊息可能會不同。

解決PHP時間函數(Date),針對時差部份

解決PHP時間函數(Date),針對時差部份

PHPDate()出現錯誤對於新手來說是比較頭疼的一件事情。
我們給出了具體的解決方法,希望對大家有所說明。

我們在運用PHPDate()這個函數取得時間資料的時候,經常會遇到不準確等一系列問題。
下面我們將為大家具體講解PHPDate()出現錯誤的關聯解決辦法。

取得系統時間時,發現取得的時間與系統的時間不符。
今天用echo date("Y-m-dH:i:s")取得系統時間時,發現取得的時間與系統的時間不符。

PHP是外國人開發的,所以經常有很多東西不太好用。
研究了一番發現,PHP預設設定的時間是以格林威治時區為標準的,表現是和台灣時間差8個小時,因此我們需要將其+8個小時,原理是我們正好位於時區的東8區,所以我們必須把PHP的時區設定改為台北時間。

寫php data這個函數時時間都會有誤差,解決的方法有三個:

 方法有三:( 以GMT+8台北為例 )
一、修改php.ini:
開啟PHP.ini檔案,一般在PHP的安裝根目錄下
找到其中的:date.timezone
刪掉date.timezone前面的分號,並改成:date.timezone=Asia/Taipei
存檔,並重新啟動Apahce服務(有時用Apache的restart功能會有問題,建議先stop然後再start)
重新檢驗一下echodate("Y-m-dH:i:s")。
是不是時間還原標準了

二、在date()前面增加:
date_default_timezone_set('時區');
例如:
date_default_timezone_set('Asia/Taipei');
echo date("Y-m-d H:i:s");
?>
時區列表:http://www.php.net/manual/en/timezones.php
三、直接打上:
例如:
<?php echo date("Y-m-d H:i:s",mktime (date(H)+8, date(i), date(s), date(m), date(d), date(Y)))?>
   
參考資料:http://www.domain.cn/blog/index.php/16064/action_viewspace_itemid_19492.htm

至於更多的data函數運用請參考http://linux.tnc.edu.tw/techdoc/banic/dateandtime/date.html


date

(PHP3 , PHP4)

date ---  將本地的時間/日期格式化

語法 : string date (string format [, int timestamp])

說明 : 

使用給予的timestamp按照格式化字串傳回一格式化字串,如果沒有給予timestamp則使用本地的時間。

以下是格式化字串中認定的字元

  • a - "am" 或 "pm"

  • A - "AM" 或 "PM"

  • B - 網際網路時間樣本

  • d - 幾日,例如" 01" 到 " 31"

  • D - 幾日,以3個英文字表示例如:" Fri "

  • F - 幾月,以英文全名表示例如:" January "

  • g - 小時,12小時制不足2位數不補0例如:" 1" 到 " 12 "

  • G - 小時,24小時制不足2位數不補0例如:" 0 " 到 " 23 "

  • h - 小時12小時制例如:" 01" 到 " 12 "

  • H - 小時,24小時制例如:" 00 "  " 23 "

  • i - 幾分,例如:" 00 " 到 " 59 "

  • I (大寫的 i) - "1" if Daylight Savings Time, "0" otherwise.

  • j - 幾日,不足2位數不補0例如:" 1"  " 31"

  • l (小寫的 'L') - 幾日,以英文全名表示,例如:"Friday"

  • L - 布林值,判斷是否為閏年,例如:" 0"  " 1"

  • m - 幾月,例如:" 01"  " 12"

  • M - 幾月,以3個英文字表示例如:"Jan"

  • n - 幾月,不足2位數不補0例如:" 1" 到 "12"

  • s - 幾秒,例如:" 01"  " 59"

  • S - 以英文後2個字表示,例如:"th","nd"

  • t - 當月的天數,例如:" 28" 到 " 31"

  • T - 這個機器的時間區域設定,例如 "MDT"

  • U - 總秒數

  • w - 以數字表示星期幾,例如" 0" 到 " 6"

  • Y - 幾年,以4位數表示例如:" 1999"

  • y - 幾年,以2位數表示例如:"99"

  • z - 一年中的第幾天,例如:" 0" 到 " 365"

  • Z - 在短時間內時間區域補償(timezone offset) ,例如"-43200" to "43200"

在格式化字串中未被認出的字元將會被列出來,當使用gmdate( )時"Z"格式將總是傳回"0"

Example :

   print (date ("l dS of F Y h:i:s A")); 

   print ("July 1, 2000 is on a " . date ("l", mktime(0,0,0,7,1,2000)));

?>

它可能會和date( )與mktime( )一起使用,來找出是將來或是過去的日期

Example :

   $tomorrow  = mktime (0,0,0,date("m")  ,date("d")+1,date("Y"));

   $lastmonth = mktime (0,0,0,date("m")-1,date("d"),  date("Y"));

   $nextyear  = mktime (0,0,0,date("m"),  date("d"),  date("Y")+1);

?>

將日期格式化成其它的語言(languages),你應該使用setlocal( )和strftime( )函式

(PHP程式設計)EclipsePHP Studio 1.2.2 ( EPP) 繁體中文版

【文章標題】:(PHP程式設計) EclipsePHP Studio 1.2.2 ( EPP) 繁體中文版
【文章作者】: PHP-MySQL-程式設計教學密訓基地-總教頭
【作者信箱】: ster168ster@gmail.com
【作者首頁】: http://por.tw/php
【最新教學課程】: http://por.tw/php/new-E_learning/index.php
【基地首頁】: http://por.tw
【版權聲明】: 【原創】PHP-MySQL-程式設計教學密訓基地,轉載必須保留完整標頭。刪除者依法追究!
--------------------------------------------------------------------------------
【文章內容】
  (PHP程式設計) EclipsePHP Studio 1.2.2 ( EPP) 繁體中文版
 
  EclipsePHP Studio 1.2.2 (以下簡稱:EPP 1.2.2)是一個大型PHP項目開發編譯器,給予Eclipse底層開發而來,並且整合了JDK,免除處了安裝配置的麻煩,一次安裝即可使用無需配置。
此編譯器為PHP編譯器,輔助PHP代碼的開發和除錯,整合了代碼高亮,函數追蹤,時時糾錯等功能。
同時還增加了合作開發版本伺服器功能: SVN , CVS 。 內嵌瀏覽器可以在除錯簡單代碼時時瀏覽。
不僅支援php ,也支援其他網路語系像html、xhtml、xml、css和javascript、java、perl、python等!

attachments/201009/8984073170.png
 
(PHP程式設計)EclipsePHP Studio 1.2.2 特點:
1、方便PHP面向物件開發,有類整合追蹤功能。
2、代碼時時糾錯,讓語法錯誤扼殺在搖籃中。
3、內嵌瀏覽器除錯更加方便快捷。
4、整合了常用的版本伺服器用戶端功能 SVN CVS。
5、豐富的快捷鍵讓開發提高效率。
6、函數,變量,快捷提示,讓開發變的簡單輕鬆。
7、強調的除錯和結構操作,使得更容易開發大型的項目
8、多項目管理,可以用開發者在多個項目之間切換。
9、很好的延伸功能,可以安裝多種外掛程式。
 
(PHP程式設計)EclipsePHP Studio 1.2.2更新:
1、修正編寫PHP代碼時行號不能標準顯示每次開啟丟失問題
2、增加了在EPP中直接開啟檔案目錄方便操作。
3、解決了在Vista 、Windows7 中假死的問題。
4、重新修正了PHP支援內核反應速度更快
5、去除了一些不必要的說明檔案編輯器在增加功能的基礎上較少體積。
 
  備註:本軟體是大陸內地軟體,安裝時是簡體畫面,安裝後可以正常顯示繁體中文。
 
 
  (PHP程式設計)EclipsePHP Studio 1.2.2 ( EPP) 繁體中文版下載網址:
 
  http://por.tw/Downloads/EclipsePHP.Studio-1.2.2.rar
 
--------------------------------------------------------------------------------
你還在自己摸索PHP-MySQL-網頁與網站程式設計嗎?你有【技術顧問服務】可以諮詢嗎?
問題無法解決你要發很多時間處理(或許永遠找出答案)那是自己摸索程式設計的痛苦!
購買【PHP+MySQL程式設計】課程錄影DVD教學課程,你就可獲得技術【顧問諮詢服務】!

文字編輯-EmEditor Professional v10.0.0繁體中文化(語系)

文章標題】: 文字編輯-EmEditor Professional v10.0.0繁體中文化(語系)
【文章作者】: 軟體中文化密訓基地-總教頭
【作者信箱】: steven8ster@gmail.com
【作者首頁】: http://por.tw/f2blog
【軟體中文化課程】: http://por.tw/f2blog/2009-tchinese/index.html
【內容分類】: 文字編輯-EmEditor Professional v10.0.0
【附件大小】: 1.19MB
【基地主機】: http://visdacom.com/f2blog
【解壓密碼】: 軟體中文化教學密訓基地
【版權聲明】: 【原創】軟體中文化密訓基地,轉載必須保留完整標頭。刪除者依法追究!
--------------------------------------------------------------------------------
【文章內容】
  文字編輯-EmEditor Professional v10.0.0繁體中文化(語系)
   
  EmEditor Professional從之前7版開始,有時更新版時【序號】還可以沿用!
  到8版時好像也是:對盜版還不是很防範(當時知名度還不是很高)
  到了9版就有了重大改革,似乎開始在注意一組序號被大量使用的問題
  如今10版出來了(網路沒有序號),國外破解專家乾脆把它了(不註冊也不會跳出註冊畫面)
  這些人也真是的,這樣搞人家怎麼【混】啊!如果使用不錯建議購買正版(除非你沒錢)
  官方中文化語系總是:慢辦拍!(出新版,語系用舊版會出現版本不合的警告!)
  來!總教頭再次把最新版給繁體中文化(至於註冊→不註冊的問題就不要問我啦!)

 
  我最喜歡使用EmEditor Professional的原因是:『他開啟一般文字檔時,只要是網址他會自動產生超連結!』。
  EmEditor Professional v10.0.0 是一款功能強大的文字編輯器!
  它啟動速度快,可以完全代替Windows自帶的記事本。
  足以勝任日常的文字編輯工作,而且良好地支援Unicode和中文字元
  還支援20多種寫程式語言的語法突出顯示。
  此專業版,增強了程式的編輯功能
  使其更適合寫程式人員對個別程式代碼進行編輯修改。
 
  繁體中文化方法:
  請自己先自備英文原版程式(安裝或綠色版英文或簡體都可以!)
  將本目錄下mui與PlugIns目錄複製到程式目錄下覆蓋即可!

 
 
   上菜啦!各位看倌請慢用!
 
 
attachments/201007/9503282316.gif
 
 --------------------------------------------------------------------------------
  【補充說明】
  EmEditor Professional v10.0.0 可以直接點擊開啟網頁、郵件位址。而不用像陽春記事本浪費複製貼上的動作。
  各種編輯功能以工具列顯現,不用像記事本一樣要回到選單裡面去選。
  列印前可以預覽列印。沒錯,原版的記事本一列印就直接給你印下去了。
  可以自訂外部連結的外部工具列。例如設定翻譯軟體,讓閱讀寫作更方便。
  具有[指定編碼重新讀取]功能。原本Windows的記事本如果碰到不是以Unicode編碼的簡體文件時,會顯示亂碼。而
  Emeditor可以將該文件重新編碼,使文字正常顯現,只要到[檔案]裡選擇[指定編碼重新讀取]即可。當然,各種原本
  不相容於繁中系統的文字編碼都可以適用。
  高亮度顯示特殊程式語法。
  最近開啟文件的歷史紀錄。
  IE7都從善如流的加入了標籤瀏覽,記事本當然也需要囉!Emeditor可以在一個視窗裡開啟多個瀏覽標籤,還可以設定並排
  顯示。
  可以將視窗定位在最上層。
  像我自己通常都使用記事本來記錄很多文字類資料(畢竟開個Word有點大才小用了),所以這些實用的功能對於記事本的
  使用增加了很多便利性,大家也可以試用看看喔!
  EmEditor is a fast, lightweight, yet extendable, easy-to-use text editor for Windows.
  EmEditor won many awards including Shareware Industry Award 2008 in the Best Applications category!
  The text editor supports powerful macros, Unicode, and very large files.
  Emurasoft's timeless mission is to achieve our clients' needs and wants by listening to them with empathy
  and expertise.
  We value supporting customers in a timely manner, and are honored to have distinguished users including
  major corporations,
  educational institutions, institutions of the European Union, ministries of Japan, and governments from all
  over the world.
   
  New Snippets Plug-in ‧ Brackets/Quotation Mark Auto-Complete ‧ Narrowing ‧ CSV, TSV ‧ Full Screen View
  ‧ Clipboard History ‧ Wildcard Support ‧ Workspace Including Undo Information ‧ New External Tools ‧
  Pin to List ‧ Save in Protected Folder ‧ Supports Windows 7 Jump List ‧ Large File Controller ‧
  Vertical Selection Editing ‧ Binary Editing ‧ Optimized Search and Replace ‧ Improved Projects Plug-in
  ‧ Optimized to Open Large Files ‧ Find Bar, HTML Bar, Projects plug-ins ‧ Word Complete ‧ Keystroke and
  Mouse Operation Recording and Playback ‧ New Objects, Properties, and Methods for Macros ‧ Macros Toolbar
  ‧ Portability Options (Ready for a USB Drive Install) ‧ Explorer, Diff, Outline, Web Preview, Search
  plug-ins ‧ External Tool Standard Output displayed within EmEditor ‧ Quick Start ‧ ActiveScript Support
  ‧ Light-Weight, Single-Process, Multi-Threading, and Low Memory Usage ‧ Tabbed Windows ‧ Detect All
  Result dialog ‧ Supports More Unicode Characters ‧ Application Error Handler Support ‧ Powerful and
  functionally-rich macros ‧ Finding in files ‧ Replacing in Files ‧ Keyword Highlighting ‧ Unicode
  Support ‧ Plug-ins ‧ Drag and Drop ‧ Best Quality ‧ For Web Designers ‧
   
  文字編輯-EmEditor Professional v10.0.0繁體中文化版下載之檔案位址:
   
  http://por.tw/Downloads/EmEditor-Professional-v10.rar
 
 
--------------------------------------------------------------------------------
你還在自己摸索如何將英文、日文或簡體中文軟體如何繁體中文化嗎?有【技術顧問服務】可諮詢嗎?
往往一個問題無法解決你可能要發很多時間處理(或許永遠找出答案)那就是軟體中文化痛苦的開始!
購買【軟體中文化】函授課程錄影DVD教學課程,你就可獲得【軟體中文化】技術的【顧問諮詢服務】!

mysql常見錯誤提示及解決方法

mysql常見錯誤提示及解決方法

130 :檔案格式不正確。(還不是很清楚錯誤的狀況)
145  :檔案無法開啟。
1005:建立表失敗。
1006:建立資料庫失敗。
1007:資料庫已存在,建立資料庫失敗。
1008:資料庫不存在,刪除資料庫失敗。
1009:不能刪除資料庫檔案導致刪除資料庫失敗。
1010:不能刪除資料目錄導致刪除資料庫失敗。
1011:刪除資料庫檔案失敗。
1012:不能讀取系統表中的記錄。
1016:檔案無法開啟,使用後台修復或是使用 phpmyadmin 進行修復。
Quote:
開始=>所有程式=>附件=>指令提示符
  輸入 mysql 所在硬碟盤符
    cd mysql 所在目錄
    cd bin
  輸入 myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI
  ps : D:usr/local/mysql/data/bbs 是你論壇資料庫的路徑
    -f 根據具體情況選取,一般也可以選取 -r
    注意你的 系統C盤或放資料庫的硬碟空間是否足夠,一般小於 1G 很容易出現錯誤。
或用mysqlcheck指令進行修復。具體的方法:利用指令行進入mysql/bin目錄,執行
mysqlcheck -o -r phpwind -uroot -p                                                      
其中phpwind是你資料庫的名稱,root是你的資料庫使用者名,然後會提示你輸入密碼。然後就會修復你的資料庫。
1017:伺服器非法關機,導致該檔案損壞。
1020:記錄已被其他使用者修改。
1021:硬碟剩餘空間不足,請加大硬碟可用空間。
1022:關鍵字重複,變更記錄失敗。
1023:關閉時發生錯誤。
1024:讀檔案錯誤。
1025:變更名字時發生錯誤。
1026:寫檔案錯誤。
1030:可能是伺服器不穩定。(具體原因不是很清楚)
1032:記錄不存在。
1036:資料表是唯讀的,不能對它進行修改。
1037:系統記憶體不足,請重啟資料庫或重啟伺服器。
1038:用於排序的記憶體不足,請增大排序緩沖區。
1040:已到達資料庫的最大連線數,請加大資料庫可用連線數。
Quote:
在my.ini 修改max_connections=100為max_connections=1000或更大,重啟mysql
1041:系統記憶體不足。
1042:無效的主電腦名。
1043:無效連線。
1044:資料庫使用者權限不足,請聯繫空間商解決。
1045:資料庫伺服器/資料庫使用者名/資料庫名/資料庫密碼錯誤,請聯繫空間商檢查帳戶。
Quote:
方法:確保論壇data目錄下的sql_config.php使用者名與密碼都正確.如果使用者忘記了資料庫的密碼,可以按如下模式進行密碼的修改:
如果 MySQL 正在運行,首先停止。
啟動 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密碼就進入 MySQL 了。
然後就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
1046:沒有選取資料庫。
1048:欄位不能為空。
1049:資料庫不存在。
1050:資料表已存在。
1051:資料表不存在。
1054:欄位不存在,自行建立欄位。
1060:欄位重複,導致無法插入這個欄位。
1062:欄位值重複,入庫失敗
Quote:
  1.如果出類似主碼為"65535"的錯誤,可以檢視關聯表的自增欄位,將欄位值改在就可以
  2.確保關聯資料表中主碼重複的欄位是否存在,如果存在刪除這條記錄
  3.備份資料庫,修復關聯表(注:這種情況比較常見,如pw_posts表,對表進行修復的時候不要忘記備份).
1064:MySQL 不支援錯誤提示中的編碼。
1065:無效的 SQL 語句,SQL 語句為空。
1067:MySQL 版本為 5,不支援空的預設值。
1081:不能建立 Socket 連線。
1114:資料表已滿,不能容納任何記錄。
1115:設定的字集在 MySQL 並沒有支援。
1116:開啟的資料表太多。
1129:資料庫出現異常,請重啟資料庫。
1130:連線資料庫失敗,沒有連線資料庫的權限。
1133:資料庫使用者不存在。
1135:可能是記憶體不足夠,請聯繫空間商解決。
1141:現用的使用者無權訪問資料庫。
1142:現用的使用者無權訪問資料表。
1143:現用的使用者無權訪問資料表中的欄位。
1146:資料表缺失,請還原備份資料
1147:未定義使用者對資料表的訪問權限。
1149:SQL 語句語法錯誤。
1158:網路錯誤,出現讀錯誤,請檢查網路連線狀況。
1159:網路錯誤,讀逾時,請檢查網路連線狀況。
1160:網路錯誤,出現寫錯誤,請檢查網路連線狀況。
1161:網路錯誤,寫逾時,請檢查網路連線狀況。
1169:欄位值重複,更新記錄失敗。
1177:開啟資料表失敗。
1180:送出事務失敗。
1181:返回事務失敗。
1193:不支援字集限定(SET NAMES)。
1203:現用的使用者和資料庫建立的連線已到達資料庫的最大連線數,請增大可用的資料庫連線數或重啟資料庫。
1205:加鎖逾時。
1211:現用的使用者沒有建立使用者的權限。
1216:外鍵約束檢查失敗,更新子表記錄失敗。
1217:外鍵約束檢查失敗,刪除或修改主表記錄失敗。
1226:現用的使用者使用的資源已超過所容許的資源,請重啟資料庫或重啟伺服器。
1227:權限不足,您無權進行此操作。
1235:MySQL版本過低,不具有本功能。
1250:用戶端不支援伺服器要求的認證協定,請考慮升級用戶端。
1251:Client 不能支援 authentication protocol 的要求
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Quote:
方法1:mysql> SET PASSWORD FOR
-> ' some_user '@' some_host ' = OLD_PASSWORD(' newpwd ');
結合我們的實際情況,在 MySQL Command Line Client 下運行:
set password for root@localhost = old_password('123456');
方法2:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
    -> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;
上面紅色的部分請按自己實際情況修改。
1267:不合法的混合字集。
2002:伺服器埠不對,請咨詢空間商正確的埠。
2003:MySQL 服務沒有啟動,請啟動該服務。
2008:MySQL client ran out of memory
錯誤指向了MySQL客戶mysql。這個錯誤的原因很簡單,客戶沒有足夠的記憶體存儲全部結果。
2013:遠端連線資料庫是有時會有這個問題,MySQL 伺服器在執行一條 SQL 語句的時候失去了連線造成的。
10048:
Quote:
建議在my.ini檔案中修改最大連線數,
  把 mysql_connect() 方法都改成了 mysql_pconnect() 方法.
  要修改mysql_pconnect(),可以在論壇的data目錄的sql_config.php中
  $pconnect = 0; //是否持久連線
  修改成$pconnect = 1;
  開啟防重整,嚴禁重整太快.
10055:沒有快取空間可利用
Quote:
檢視下你的C盤空間是否已經滿,清除一些沒有用的檔案.
  可以在後台的"論壇核心設定","核心功能設定"裡"程式改善"開啟,"GZIP 壓縮輸出"關閉.
搜尋了一下10055(沒有快取空間可利用)出錯的原因,分析了my.ini的配製檔案,在my.ini中如下:
default-storage-engine=INNODB
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=10M
innodb_log_file_size=10M
innodb_thread_concurrency=8
覺得可以把innodb_buffer_pool_size=10M 加大如100M或是1000M
以上是對mysql5的
如果是mysql4可以在my.ini中增加如下:
#innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
#innodb_data_home_dir = c:ibdata
#innodb_log_group_home_dir = c:iblogs
#innodb_log_arch_dir = c:iblogs
#set-variable = innodb_mirrored_log_groups=1
#set-variable = innodb_log_files_in_group=3
#set-variable = innodb_log_file_size=5M
#set-variable = innodb_log_buffer_size=8M
#innodb_flush_log_at_trx_commit=1
#innodb_log_archive=0
#set-variable = innodb_buffer_pool_size=16M
#set-variable = innodb_additional_mem_pool_size=2M
#set-variable = innodb_file_io_threads=4
#set-variable = innodb_lock_wait_timeout=50
把前面的#去了
10061:
Quote:
啟動這台機器上的MySQL服務
  如服務啟動失敗
  一定是你的my.ini檔案出了差錯,
  MySQL服務不能標準啟動
  你刪除了它後,MySQL就會按其預設配置運行,
  那就沒有問題了
以上資料根據網上各方面資料整合而成。
標籤: mysql

伺服器配置:Squid配置詳解

伺服器配置:Squid配置詳解
 
基本配置
安裝完成後,接下來要對Squid的運行進行配置(不是前面安裝時的配置)。所有項目都在squid.conf中完成。Squid自帶的squid.conf內含非常詳盡的說明,相當於一篇使用者手冊,對配置有任何疑問都可以參照解決。

在這個例子中,代理伺服器同時也是通訊閘,內定網路介面eth0的IP位址為192.168.0.1,外部網路接eth1的IP位址為202.103.x.x。下面是一個基本的代理所需要配置選項:

http_port 192.168.0.1:3128

預設埠是3128,當然也可以是任何其它埠,只要不與其它服務發生衝突即可。為了安全起見,在前面加上IP位址,Squid就不會監聽外部的網路介面。 下面的配置選項是伺服器管理者的電子信件,當錯誤發生時,該位址會顯示在錯誤頁面上,便於使用者聯繫:

cache_mgr start@por.com

以下這些參數告訴Squid快取的檔案系統、位置和快取策略:

cache_dir ufs /var/squid cache_mem 32MB cache_swap_low 90 cache_swap_high 95

在這裡,Squid會將/var/squid目錄作為儲存快取資料的目錄,每次處理的快取大小是32兆位元組,當快取空間使用達到95%時,新的內容將 取代舊的而不直接新增到目錄中,直到空間又下降到90%才停止這一活動。

如果不想Squid快取任何檔案,如某些存儲空間有限的專有系統,可以使用 null檔案系統(這樣不需要那些快取策略):

cache_dir null /tmp

下面的幾個關於快取的策略配置中,較主要的是第一行,即使用者的訪問記錄,可以通過分析它來瞭解所有使用者訪問的詳盡位址:

cache_access_log /var/squid/access.log cache_log /var/squid/cache.log cache_store_log /var/squid/store.log

下面這行配置是在較新版本中出現的參數,告訴Squid在錯誤頁面中顯示的伺服器名稱:

visible_hostname No1.proxy

以下配置告訴Squid如何處理使用者,對每個請求的IP位址作為單獨位址處理:

client_netmask 255.255.255.255

如果是普通代理伺服器,以上的配置已經足夠。但是很多Squid都被用來做透明代理。

所謂透明代理,就是用戶端不知道有代理伺服器的存在,當然也不需要進行任何與代理有關的設定,從而大大方便了系統管理員。關聯的選項有以下幾個:

httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_user_host_header on

在Linux上,可以用iptables/ipchains直接將對Web埠80的請求直接轉信到Squid埠3128,由Squid接手,而使用者瀏覽器仍然認為它訪問的是對方的80埠。例如以下這條指令:

iptables -t nat -A PREROUTING -s 192.168.0.200/32 -p tcp --dport 80 -j REDIRECT 3128

page
    就是將192.168.0.200的所有針對80埠的訪問重導至3128埠。

所有設定完成後,關鍵且重要的任務是訪問控制。Squid支援的管理模式很多,使用起來也非常簡單(這也是有人寧願使用不做任何快取的Squid,也 不願意單獨使用iptables的原因)。

Squid可以通過IP位址、主電腦名、MAC位址、使用者/密碼認證等識別使用者,也可以通過功能變數名、功能變數副檔名、檔案類 型、IP位址、埠、URL符合等控制使用者的訪問,還可以使用時間區間對使用者進行管理,所以訪問控制是Squid配置中的重點。

Squid用ACL (Access Control List,訪問控制清單)對訪問類型進行劃分,用http_access deny 或allow進行控制。根據需求首先定義兩組使用者advance和normal,還有代表所有未指明的使用者組all及不容許上網的baduser,配置代 碼如下:

acl advance 192.168.0.2-192.168.0.10/32 acl normal src 192.168.0.11-192.168.0.200/32 acl baduser src 192.168.0.100/32 acl baddst dst www.soocol.com acl all src 0.0.0.0/0 http_access deny baduser http_access allow advance http_access allow normal

可以看出,ACL的基本格式如下: acl 清單名稱 控制模式 控制目的 比如acl all src 0.0.0.0/0,其名稱是all,控制模式是src源IP位址,控制目的是0.0.0.0/0的IP位址,即所有未定義的使用者。出於安全考慮,總是在最後禁止這個清單。 下面這個清單代表進階使用者,內含IP位址從192.168.0.2到192.168.0.10的所有電腦:

acl advance 192.168.0.2-192.168.0.20/32

下面這個baduser清單只包括一台電腦,其IP位址是192.168.0.100:

acl baduser 192.168.0.100/32

ACL寫完後,接下來要對它們分別進行管理,代碼如下:

http_access deny baduser http_access allow advance http_access allow normal

上面幾行代碼告訴Squid不容許baduser組訪問Internet,但advance、normal組容許(此時還沒有指定詳細的權限)。由 於 Squid是按照順序讀取規則,會首先禁止baduser,然後容許normal。如果將兩條規則順序顛倒,由於baduser在normal範圍中, Squid先容許了所有的normal,那麼再禁止baduser就不會起作用。

特別要注意的是,Squid將使用allow-deny-allow-deny……這樣的順序套用規則。例如,當一個使用者訪問代理伺服器時, Squid會順序測試Squid中定義的所有規則清單,當所有規則都不符合時,Squid會使用與最後一條相反的規則。

就像上面這個例子,假設有一個使用者 的IP位址是192.168.0.201,他試圖通過這台代理伺服器訪問Internet,會發生什麼情況呢?我們會發現,他能夠標準訪問,因為 Squid找遍所有訪問清單也沒有和192.168.0.201有關的定義,便開始應用規則,而最後一條是deny,那麼Squid預設的下一筆處理規則 是allow,所以192.168.0.201反而能夠訪問Internet了,這顯然不是我們希望的。所以在所有squid.conf中,最後一條規則 永遠是http_access deny all,而all就是前面定義的「src 0.0.0.0」。

進階控制

前面說過,Squid的控制功能非常強大,只要理解Squid的行為模式,基本上就能夠滿足所有的控制要求。下面就一步一步來瞭解Squid是如何進行控制管理的。

通過IP位址來識別使用者很不可靠,比IP位址更好的是網路卡的MAC物理位址。要在Squid中使用MAC位址識別,必須在編譯時加上「--enable-arp-acl」選項,然後可以通過以下的語句來識別使用者:

acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ...

它直接使用使用者的MAC位址,而MAC位址一般是不易修改的,即使有普通使用者將自己的IP位址改為進階使用者也無法通過,所以這種模式比IP位址可靠得多。

假如不想讓使用者訪問某個網站應該怎麼做呢?可以分為兩種情況:一種是不容許訪問某個站台的某個主電腦,比如ok的主電腦是ok.sina.com.cn,而其它的新浪資源卻是容許訪問的,那麼ACL可以這樣寫:

acl sinapage dstdomain ok.sina.com.cn ... ... http_access deny ok ... ...

page
    另一種情況是整個網站都不許訪問,那麼只需要寫出這個網站共有的功能變數名即可,配置如下:

acl qq dstdomain .tcccent.com.cn

注意tcccent前面的「.」,正是它指出以此功能變數名結尾的所有主電腦都不可訪問,否則就只有tcccent.com.cn這一台主電腦不能訪問。

如果想禁止對某個IP位址的訪問,如202.118.2.182,可以用dst來控制,代碼如下:

acl badaddr dst 202.118.2.182

當然,這個dst也可以是功能變數名,由Squid查詢DNS伺服器將其轉換為IP。

還有一種比較廣泛的控制是檔案類型。如果不希望普通使用者通過代理伺服器下載MP3、AVI等檔案,完全可以對他們進行限制,代碼如下:

acl mmxfile urlpath_regex .mp3$ .avi$ .exe$ http_access deny mmxfile

看到regex,很多讀者應該心領神會,因為這條語句使用了標準的規則表達式(又叫正則表達式)。它將符合所有以.mp3、.avi等結尾的URL請求,還可以用-i參數忽略大小寫,例如以下代碼:

acl mmxfile urlpath_regex -i .mp3$

這樣,無論是.mp3還是.MP3都會被拒絕。當然,-i參數適用於任何可能需要區分大小寫的地方,如前面的功能變數名控制。

如果想讓普通使用者只在上班時間可以上網,而且是每週的工作日,用Squid應當如何處理呢?看看下面的ACL定義:

acl worktime time MTWHF 8:30-12:00 14:00-18:00 http_access deny !worktime

首先定義容許上網的時間是每週工作日(星期一至星期五)的上午和下午的固定時段,然後用http_access 定義所有不在這個時間段內的請求都是不容許的。

或是為了保證進階使用者的頻寬,希望每個使用者的並發連線不能太多,以免影響他人,也可以通過Squid控制,代碼如下:

acl conncount maxconn 3 http_access deny conncount normal http_access allow normal

這樣,普通使用者在某個固定時刻只能同時發起三個連線,從第四個開始,連線將被拒絕。

總之,Squid的ACL配置非常靈活、強大,更多的控制模式可以參考squid.conf.default。

認證

使用者/密碼認證為Squid管理提供了更多便利,最常用的認證模式是NCSA。從Squid 2.5版本開始,NCSA認證包括在了basic中,而非以前單獨的認證模組。下面來看看實現認證的具體操作。

首先在編譯時配置選項應內含以下配置:

--enable-auth="basic" --enable-basic-auth-helpers="NCSA"

page
    「make install」以後,需要將「helpers/basic_auth/NCSA/ncsa_auth」複製到使用者可執行目錄中,如/usr/bin(如 果在該目錄中找不到這個執行檔案,在編譯時請使用make all而不是make,或是直接在該目錄中執行make),然後需要借助Apache的密碼管理程式htpasswd來生成使用者名/密碼對應的檔案,就像 下面這行代碼:

htpasswd -c /var/squid/etc/password guest

在輸入兩遍guest使用者的密碼後,一個guest使用者就生成了。如果以後需要加入使用者,把上面的指令去掉-c參數再運行即可。

Squid 2.5在認證處理上有了較大的改變,這裡就只討論2.5版本的處理方法,2.4及以下版本請參考squid.conf.default。在2.5版的squid.conf中,內含以下幾個關聯選項:

該選項指出了認證模式(basic)、需要的程式(ncsa_auth)和對應的密碼檔案(password)

auth_param basic program /usr/bin/ncsa_auth /var/squid/etc/password

指定認證程式的程式數

auth_param basic children 5

瀏覽器顯示輸入使用者/密碼對話框時的領功能變數內容

auth_param basic realm My Proxy Caching Domain

基本的認證有效時間

auth_param basic credentialsttl 2 hours

普通使用者需要通過認證才能訪問Internet

acl normal proxy_auth REQUIRED http_access allow normal

通過以上的配置即可完成認證工作。有的讀者可能要問:認證只針對普通使用者,而進階使用者是直接上網的,該怎麼處理呢?其實,這兩種使用者是可以共存的。

如 前所述,Squid是順序處理http_access的,所以在http_access處理過程中,如果先處理normal使用者,那麼現用的使用者無論是否屬 於進階使用者,都會被要求進行認證;相反如果先處理進階使用者,剩下的就只有需要認證的普通使用者了。例如以下配置代碼:

... http_access allow normal (需要認證) http_access allow advance (不需要認證) ...

不管是否為noauth使用者,都要求進行使用者名/密碼驗證。正確的方法是將二者位置交換,代碼如下:

... http_access allow advance http_access allow normal ...

這時,進階使用者不會受到任何影響。

總結

下面把整個squid.conf總結一下:

伺服器配置

http_port 192.168.0.1:3128 cache_mgr start@por.com cache_dir null /tmp cache_access_log /var/squid/access.log cache_log /var/squid/cache.log cache_store_log /var/squid/store.log visible_hostname No1.proxy client_mask 255.255.255.255 httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_user_host_header on

使用者分類

acl advance arp 00:01:02:1f:2c:3e 00:01:02:3c:1a:8b ... acl normal proxy_auth REQUIED acl all src 0.0.0.0

行為分類

acl mmxfile urlpath_regex .mp3$ .avi$ .exe$ acl conncount maxconn 3 acl worktime time MTWHF 8:30-12:00 14:00-18:00 acl sinapage dstdomain ok.sina.com.cn acl qq dstdomain .tcccent.com.cn

處理

http_access allow advance http_access deny conncount normal http_access deny !worktime http_access deny mmxfile http_access deny sinapage http_access deny qq http_access allow normal

配置後的狀況是,advance組可以不受任何限制地訪問Internet,而normal組則只能在工作時間上網,而且不能下載多媒體檔案,不能訪問某些特定的站台,而且傳送請求不能超過3個。

通過本文的介紹,它可以瞭解Squid的基本能力。當然,它的能力遠不止此,可以建立強大的代理伺服器陣列,可以說明本地的Web伺服器提高效能,可以提高本地網路的安全性等。要想發揮它的功效,還需要進一步控制。
  • 1 
本PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地立志於收集各類PHP程式設計、MySQL資料庫及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!