<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    from :http://blog.xoyo.com/redblade/article/341344.shtml

    Apache是運行在Linux操作系統上的頭號Web服務器。很多小地方都可以用來調整Apache的性能,并降低它對系統資源的影響。其中一個就是調整內存使用率,當然達到這一目的可能還是需要花點功夫的。
    例如,通過ps來確定httpd線程的內存使用率,可以輸入下面的命令:
    # ps -U apache -u apache u

    USERPID %CPU %MEMVSZRSS TTYSTAT START TIME COMMAND
    apache130670.05.3 149704 54504 ?SOct071:53 /usr/sbin/httpd -f /etc/httpd/conf/httpd.conf -DAPACHE2
    ...

    上面這段輸出顯示了單個httpd進程使用了50 MB的RSS(駐留集大小)內存(或者非交換物理內存),以及149 MB的VSZ(虛擬)內存。這當然在很大程度上取決于你在Apache里加載和運行的模塊數量。這決不是一個固定的數字。由于這個數字里還包含了共享庫包,所以不是100%的準確。我們可以認為RSS數字的一半是httpd線程真正使用的內存數,這可能還有點保守,但是離我們的目的已經非常接近了。

    在本文里,我們假設每個httpd進程都在使用了27 MB內存。然后,你需要確定可以讓httpd真正使用的內存數。根據運行在機器上的其他進程,你可能希望要求50%的物理內存都供Apache使用。在一個裝有1GB內存的系統上,就有512MB的內存可以被劃分為多個27MB的內存,也就是大約19個并發的httpd內存。有些人堅持認為每個httpd 線程“真正”使用大約5MB的內存,所以從理論上講你可以把512MB的內存劃分出102個并發進程供Apache使用(要記住的是,除非你的網站需要極其巨大的流量,否則這種情況是非常罕見的)。  
    在默認狀態下,Apache會分配最大256個并發客戶端連接,或者256個進程(每一個都對應一個請求)。按照這種設置,一個流量巨大的網站會在頃刻間崩潰(即使你假設每個進程占用5MB內存,那也需要1.3GB的內存來滿足請求的數量)。如果不采取其它措施,系統會通過硬盤來嘗試使用交換空間以處理它無法在物理內存中完成的任務。

    其他可以調整的項目包括KeepAlive、KeepAliveTimeout和MaxKeepAliveRequests等設置。可以放在httpd.conf文件里的推薦設置有:

    ServerLimit 128MaxClients 128KeepAlive OnKeepAliveTimeout 2MaxKeepAliveRequests 100

    通過將KeepAliveTimeout從15秒減到2秒,可以增加MaxClients命令;19太小,而128要好得多。通過減少進程存活的秒數,你可以在相同的時間內允許更多的連接。

    當然,如果沒有真正的測試在背后支持,數字就是毫無意義的,這就是ab的作用之所在。使用ab對Apache配置文件(MaxClients 等于 256、ServerLimit等于256、KeepAliveTimeout等于15)進行調整,使其能夠滿足1000個請求(100個連續請求并發產生)的調整方法如下。(在執行測試的時候要確保服務器上有一個終端打開以觀察系統的負載。)
    #./ab -n 1000 -c 100 -k http://yoursite.com/index.php

    現在把上面的服務器設置改為更加保守的設置,重新啟動Apache,試著再次測試(總是從遠程計算機上進行,而不是本機)。
    在這里的測試中,不同的設置導致執行所消耗的時間產生了一倍的差距(分別為27.8s和16.8s),但是負載的平均值為0.03和 0.30。這可能會使得你的網站變得稍慢,但是會確保它不會在高負載的情況下崩潰。還要記住的是,你將需要進行多次測試,以便取得一個平均值。

    使用ab是測試調整Apache配置的一個極佳方法,應該在你每次做出影響性能的更改時使用它

    posted @ 2009-06-24 11:45 小馬歌 閱讀(373) | 評論 (0)編輯 收藏
     
    Linux + wine + 迅雷

    拷貝c:\windows\system32\下的動態鏈接庫msvcp60.dll和mfc42.dll到 ~/.wine/drive_c/windows/system32 下。然后wine迅雷就可以正常啟動迅雷下載使用了。要注意的是下載文件的保存路徑要點瀏覽然后再選擇相應的保存路徑,或者如此類似設置(z:\root \Desktop\)否則會提示錯誤的路徑。

    Everest Linux 0.4u1 + Wine 0.9.24 + 迅雷v5.6.1.292
    測試了下,速度感覺和Windows下的沒區別。
    個人認為wine的比較完美

    PS:如果你認為用迅雷下載會盜鏈,有損道德,請不要使用。本文不討論此類道德問題。

     原文地址 http://www.linux-ren.org/modules/newbb/viewtopic.php?topic_id=3454&forum=21
    posted @ 2009-06-22 18:32 小馬歌 閱讀(177) | 評論 (0)編輯 收藏
     
    http://sourceforge.net/projects/mondrian/

    多緯統計,相當方便。
    posted @ 2009-06-22 18:19 小馬歌 閱讀(475) | 評論 (0)編輯 收藏
     
    http://developers.facebook.com/thrift

    /Files/xiaomage234/thrift-20070401.pdf

    其他rpc對比:
    SOAP. XML-based. Designed for web services via HTTP, excessive
    XML parsing overhead.
     CORBA. Relatively comprehensive, debatably overdesigned
    and heavyweight. Comparably cumbersome software installation.
     COM. Embraced mainly in Windows client softare. Not an
    entirely open solution.
     Pillar. Lightweight and high-performance, but missing versioning
    and abstraction.
     Protocol Buffers. Closed-source, owned by Google. Described
    in Sawzall paper.
    posted @ 2009-06-22 18:17 小馬歌 閱讀(278) | 評論 (0)編輯 收藏
     
    姓  名:李彥宏
    百度董事長兼CEO
    財富榜:130億
    1972出生于山西陽泉
    北京大學本科
    1999年,李彥宏和徐勇回國創建了百度,一年后百度成為全球最大的中文搜索引擎技術公司。2003年第二季度,百度宣布全面盈利。目前,百度的競價排名客戶達3萬余家
    公司總部:北京
    主要行業:搜索引擎
    行業地位:全球最大的中文搜索引擎
    姓  名:陳天橋
    盛大網絡公司 董事長兼CEO
    財富榜:90億
    2003中國新經濟年度人物”                            
    1973出生于 浙江新昌
    畢業院校:復旦大學    
    1999年創辦盛大網絡公司
    2001年,盛大先后代理運營了《傳奇》、《新英雄門》、《瘋狂坦克》等多款網絡游戲。注冊用戶近六千萬人 2003年在納斯達克上市
    盛大網絡創辦僅4年,財富從50萬元的創業投資劇增12000倍  
    姓  名:馬化騰
    騰訊公司CEO
    財富榜:125億 (2007胡潤富豪榜 排名第50位 )
    1971年10月出生于廣東潮陽
    1989.9至1993.7: 深圳大學計算機專業
    1993.4至1998.10:潤訊通信發展有限公司工程師
    QQ 用戶 3.4億
    姓  名:丁磊 (163 郵箱)
    網易公司CEO
    2006胡潤IT富豪榜90億元成為國內IT首富
    1971年10月生于寧波
    1997年6月創立網易公司(7m2)將網易從十幾個人的私企發展到在美國公開上市的知名互聯網技術企業。
    靠網絡起家的丁磊向浙江大學捐贈4000萬美元,支持教育事業。
    姓   名:馬 云
    阿里巴巴集團主席兼CEO
    財富榜 : 50億(中國IT十大富豪)
    畢業院校:杭州師范大學外語系
    1964年09月10日生于浙江杭州
    1999年3月,以50萬元創辦阿里巴巴網站,會聚220個國家和地區的200多萬注冊商人會員,是全球國際貿易領域內最大的網上市場,是全球B2B電子商務的著名品牌。
    2003年5月10日投資創辦淘寶網,  C2C (個人對個人)截至2008年底,淘寶網注冊會員超8000萬人,
    阿里巴巴于2007年11月6日在香港上市。
    阿里巴巴的上市,造就了4900名人均身家過百萬的富翁。
    為了這一天,有人等待了12年,有人等待了8年,還有很多人沒有等到這一天……
    2005年8月5號百度的上市則創造了8位億萬富翁  50位千萬富翁,240位百萬富翁…這些富翁都是在百度公司工作四年以上的員工
    (現在網上消費已成趨勢,日本占97%,英國52%的成年人在網上買東西,都已養成習慣。在中國,只是剛剛開始,同時,蘊含著一個商機。)
    什么是電子商務?是以電子為手段,以商務為主體,將原來的傳統銷售、購物渠道移到互聯網上來,打破國家、地區、有形無形的壁壘,使生產企業達到全球化、網絡化、無形化、個性化。
    電子商務的特點:三 低:低投入、低成本、低價格
    三 高: 高服務、高效益、高利潤
    在互聯網時代,不變的只有改變。2003年,美國90%的大型企業通過網上交易,在全世界范圍內,只有25%的交易通過互聯網。

    名人名言
    江-澤-民:在亞太會議上說,電子商務代表了世界經濟貿易發展的方向!
    美國前總統克林頓說:信息產業革命是人類有史以來最大的一次產業革命,它將為我們提供千載難逢的機遇戰!
    胡-錦-濤主席在兩會上的講話:
    大力推進市場對內外開放,加快要素是市場化,發展電子商務、連鎖經營、物流配送等現代流通方式,促進商品和各種要素在全國范圍自由流通和充分競爭,造就一個和諧的社會。
    胡-錦-濤:大力發展電子商務是推進國民經濟信息化的重要內容,在全球范圍內,基于互聯網的電子商務正以前所未有的速度迅猛發展,不僅改變了社會生產方式,而且對經濟結構的調整,產生了極為重要的影響,成為新經濟的增長點。
    8848老總王俊濤說:如果錯過互聯網,與你擦肩而過的不僅是機會,而是整整一個時代。
    比爾.蓋茨:21世紀世界上只有兩種生意,就是是擁有網站的企業和和將被收盤的生意。
                   未來要么電子商務,要么無商可務。
    阿里巴巴創始人馬云在接受記者采訪時講到:互聯網已經從“網民”“網友”時代進入“網商”時代,等你看清楚時已經晚了。
    李嘉誠:互聯網是一次新的商機,每一次新的機會到來,都會造就一批富翁。而每一批富翁的造就是:
    當別人不明白的時候,他明白他在做什么;
    當別人不理解的時候,他理解他在做什么,
    當別人明白了,他富有了:當別人理解了,他成功了。
      今天跟E網合作,你最大限度能夠失去什么?如果一個小時20元,每天上班8小時,一天的工資就是160元,一個月上20天班,一個月工資就是3600元;如果一個小時40元,一個月就是7200,這是非常好的單位。在E網好多老師封頂一天就是1萬,請問E網是什么樣的單位?
      在E網一天的收入就是在單位上班一個月20天干的,在單位20年要干的事情,在E網一年完成,多的19年到處去旅游,大家說好不好?在E網干兩年,剩下的38年,有錢有閑好不好?
      反正每年都是打工,打工幾年還是一場空,那我們就在E網拼一年試試!
    什么是趨勢?我引用李嘉誠的一段話:
    當別人在罵人,我開始懷疑;  
    當別人在懷疑,我開始行動;  
    當別人在行動,我開始賺錢;  
    當別人在賺錢,我的錢開始瘋長!  
    當一個新生事物出現,
    只有5%的人知道時趕緊做, 這就是機會,
    做早就是先機; 當有50%的人知道時,
    你做個消費者就行了。
    當超過50%時, 你看都不用去看了
    需要機會,尋找項目的朋友!
    posted @ 2009-06-22 18:14 小馬歌 閱讀(114) | 評論 (0)編輯 收藏
     
    from : http://hi.baidu.com/sneidar/blog/item/9e26372671f9a4128a82a1f8.html

    有關 PHP 和 MySQL 時區的一點總結
    2008年06月19日 星期四 下午 04:39

    由于暫時使用國外的空間,在我發布 Blog 的時候發現時間總是不對。依據我以前編寫程序的經驗,這是時區的問題。這個問題解決起來并不難,寫下我的解決途徑以便日后參考。

    PHP 腳本端的市區設置可以在 php.ini 下設置 date.timezone 鍵的值為 'Asia/Shanghai' 即可。但是通常共享虛擬主機本身沒有修改 php.ini 權限。這個時候就應該在程序公共部分加入

    ini_set('date.timezone','Asia/Shanghai');

    動態修改 php.ini 的設置。之后可以測試一下時間是否正確:

    var_dump(date());

    如果服務器的本地時間是正確的,那么一般就能解決問題了。附,PHP 5.1 以上提供了專門的函數修改對應的時區:

    date_default_timezone_set('Asia/Shanghai');

    建議使用此函數,因為更通用一 些。對應 'Asia/Shanghai' 其他可以使用的大陸時區還有:Asia/Chongqing 、Asia/Shanghai 、Asia/Urumqi (依次為重慶,上海,烏魯木齊);港臺地區可用:Asia/Macao、Asia/Hong_Kong、Asia/Taipei(依次為澳門,香港,臺 北);還有新加坡:Asia/Singapore;其他可用的值是:Etc/GMT-8、Singapore、Hongkong、PRC;老外好像把北京 漏調了。

    但是,在我修改成功 PHP 端的時區以后發現日期并沒有正確的記錄下來。這個時候我考慮是否是數據庫的問題。果不其然,因為程序插入的函數并沒有調用 PHP 的時間,而是直接使用 MySQL 的 CURRECT_TIMESTAMP。這個時候就要考慮是否能修改 MySQL 方面的時區。

    參考了 MySQL 的文檔,發現一個可行的 SQL 語句為:

    SET GLOBAL time_zone = '+8:00';

    其中 '+8:00' 是東八區的表示方法,其他的市區依次類推。而我在數據庫模型中插入改語句發現權限不夠(該死的虛擬主機提供商)。接下來我調試了很多語句,比如:

    DATE_ADD(UTC_TIMESTAMP(), INTERVAL 8 HOUR);

    顯示時區的 SQL 語句:

    SHOW VARIABLES LIKE 'system_time_zone'

    等等。而由于 MySQL 權限的限制并沒有徹底的解決方案。我 Google 了下,發現老外這個有一個非常好的解決方案。但是他需要修改每條插入數據的 SQL 語句。這樣的方案并不是非常的有效,一旦數據庫時區改成正常,那么相應的 SQL 語句又要改回來。

    而我考慮既然 PHP 端已經可以正確的解決時間的問題了。MySQL 數據庫方面雖然可以使用相應的函數解決,但是如果日后遷移到別的主機環境又要改回來。而相應的字段是一個 TIMESTAMP 類型的,默認的值為 CURRECT_TIMESTAMP,當然是可以指定時間的。

    那么我的做法就是讓 PHP 插入當前正確的時間,這樣雖然程序方面需要做相應的修改。不過日后配置修改起來只要修改一處就可以了。最后插入數據庫的時間注意一下格式:

    date('Y-m-d H:i:s')

    這樣就可以解決問題了。附,一些非常好的參考資料:

    1. http://www.modwest.com/help/kb6-256.html
    2. http://topic.csdn.net/t/20060503/07/4728521.html
    3. http://www.phpchina.com/5173/viewspace_5132.html
    4. http://www.phpx.com/pth110355.php

    更新:由此 wiLdGoose 兄說他也碰到同樣的問題,但是無法解決。結果經過種種的假設和判斷以后,到最后發現原來是 Zend Studio 的時區配置問題(我狂汗ing)。看來除去運行環境,開發環境也是需要注意以下的。

    posted @ 2009-06-10 10:39 小馬歌 閱讀(121) | 評論 (0)編輯 收藏
     
     1function get_page_content($url){
     2$url = eregi_replace('^http://', '', $url);
     3$temp = explode('/', $url);
     4$host = array_shift($temp);
     5$path = '/'.implode('/', $temp);
     6$temp = explode(':', $host);
     7$host = $temp[0];
     8$port = isset($temp[1]) ? $temp[1: 80;
     9$fp = @fsockopen($host, $port, &$errno, &$errstr, 30);
    10if ($fp){
    11@fputs($fp, “GET $path HTTP/1.1\r\nHost: $host\r\nAccept: */*\r\nReferer:$url\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)\r\nConnection: Close\r\n\r\n”);
    12}
    13$Content = ”;
    14while ($str = @fread($fp, 4096)){
    15$Content .= $str;
    16}
    17@fclose($fp);
    18//重定向
    19if(preg_match(”/^HTTP\/\d.\d 301 Moved Permanently/is”,$Content)){
    20if(preg_match(”/Location:(.*?)\r\n/is”,$Content,$murl)){
    21return get_page_content($murl[1]);
    22}
    23}
    24//讀取內容
    25if(preg_match(”/^HTTP\/\d.\d 200 OK/is”,$Content)){
    26preg_match(”/Content-Type:(.*?)\r\n/is”,$Content,$murl);
    27$contentType=trim($murl[1]);
    28$Content=explode(”\r\n\r\n”,$Content,2);
    29$Content=$Content[1];
    30}
    31return $Content;
    32}
    33
    34
    posted @ 2009-06-05 12:16 小馬歌 閱讀(866) | 評論 (0)編輯 收藏
     
    不知道是什么原因導致服務器file_get_contents不能使用,fsockopen半殘廢。不是PHP版本原因,因為同版本換電腦可以,不是allow_url_fopen問題,幾經認證。
    錯誤提示:failed to open stream: HTTP request failed! 不是用戶權限問題

    為解釋情況,先看兩個小程序片段
    復制內容到剪貼板
    代碼:
    $fp = fsockopen("cplink.duozz.com", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)<br />\n";
    } else {
    fputs($fp,"GET /public/default/images/logo.jpg HTTP/1.0\r\n");
    fputs($fp,"Host: cplink.duozz.com\r\n");
    fputs($fp,"Connection: Close\r\n\r\n");
    $tmp = "";
    while (!feof($fp)) {
    $tmp .= fgets($fp, 128);
    }
    fclose($fp);
    }
    var_dump($tmp);
    上面是第一段,如果沒錯的話,上面的會輸出一些二進制亂碼,沒錯,圖片直接打印是這樣的。可是在我的一臺正式服務器上卻輸出空。
    經過一步步調試改為如下代碼
    復制內容到剪貼板
    代碼:
    $fp = fsockopen("cplink.duozz.com", 80, $errno, $errstr, 30);
    if (!$fp) {
    echo "$errstr ($errno)<br />\n";
    } else {
    $out = "GET /public/default/images/logo.jpg HTTP/1.0\r\n";
    $out .= "Host: cplink.duozz.com\r\n";
    $out .= "Connection: Close\r\n\r\n";

    fputs($fp, $out);
    $tmp = "";
    while (!feof($fp)) {
    $tmp .= fgets($fp, 128);
    }
    fclose($fp);
    }
    var_dump($tmp);
    上面這段代碼輸出了我想要的內容。改動只是把fputs的內容先連成一個長字符串,一起提交。。為啥會有這個BUG沒查出來。網上也有很多相同的難友

    下面講正題。
    pub_httpdown.php 里恰恰是用的我講的第一種方式,結果直接造成遠程圖片不能本地話
    我通過改為第二中方式解決BUG。不過還是希望官方有高手能解釋下為什么。
    改過的pub_httpdown.php見附件

    另外還有一個小BUG 此文件的SaveToText函數調用了一個并不存在的$this->SaveBinFile() 我覺得作者本意可能是要用$this->SaveToBin()所以也改了。
    希望官方也講一下。

    from : http://bbs.linuxphp.org/thread-197-1-1.html
    posted @ 2009-06-05 12:15 小馬歌 閱讀(2802) | 評論 (2)編輯 收藏
     
    session_start()這個問題,我竟然用了4天來解決.其實網上很多解決的方法,論壇也好多人回答這類的問題,不過最后呢,我還是先在我朋友的電腦上運行php的代碼,確認沒有寫錯后,再通過朋友的php.ini來對照,找出不同的地方,然后修改才成功. 現在的狀況是依然有警告提示Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent in C:\php\phpdesigner_output_tmp.php on line 2 不過,代碼可以成功運行,$_SESSION的值可以傳遞到別的頁面,那我就不再修改其他的(還沒對照到的地方).最后一句感嘆,一個人憑興趣去寫程序,真是困難重重!

      現在先說我自己的問題.我在網上找session_start()的問題的時候,有的帖子提到要修改session.save_path =c:\tmp 和session.cookie_path =/
    這兩個路徑為c:\tmp 然后再添加一個文件夾.但我自己是問題是,session.cookie_path  的值應該是=/  慚愧的是我現在還不明白什么是這個值應該是默認路徑吧.

      其實相關的session_start()的問題還有要將out.put_buffery=on 或者修改成4096 或者session_start()前面加ob_start();還有cache-limiter= ;空,還有apache的緩存是否有開等等,不過對我的問題也沒有幫助而已.下面是我在找問題的答案的時候找到的一些關于session_start()的問題的總結,我本來想自己總結,現在就貼出這位兄弟的文章就是了(沒有問過他,如果有一天作者覺得有異議,請聯系我)http://cmpford.bokee.com/

    session問題集錦

      對于PHP的session功能,始終找不到合適的答案,尤其是一些錯誤,還有一些沒有錯誤的結果,最可怕的就是后者,一直為許多的初學者為難。就連有些老手,有時都被搞得莫名其妙。本文,將這些問題,做一個簡單的匯總,以便大家查閱。

    1.
    錯誤提示
    Warning: Cannot send session cookie - headers already sent
    Warning: Cannot send session cache limiter - headers already sent
    分析及解決辦法
    這一類問題,的原因是你在程序中使用session_start()時,之前已經有實際的html內容輸出了。或許你說,我沒有啊,我只不過是echo或print一條消息了。很抱歉,你的echo或print語句所產生的輸出,就是實際的html內容輸出。解決此類問題的辦法是,將你的session_start()調到程序的第一行。

    2.
    錯誤提示
    Warning: open(F:/689phpsessiondatasess_66a39376b873f4daecf239891edc98b5, O_RDWR) failed
    分析及解決方法
    出現這樣的錯誤語句一般是因為你的php.ini中關于session.save_path一項沒有設置好,解決的方法是將session.save_path和session.cookie_path 設置置為
    session_save_path = c: emp
    session.cookie_path = c: emp
    然后在c:目錄下建立一個temp目錄,即可

    3.
    錯誤提示
    Warning: Trying to destroy uninitialized session in
    分析及解決方法
    出類這樣的提示,一般情況都是你直接調session_destroy()函數造成的。很多的朋友認為session_destroy()函數可以獨立的運行,其實不然。解決的方法是在你調session_destroy()函數之前,要用session_start()開啟session的功能。

    4.問題:怎么獲得當前session的id值呢?
    最簡單的方法是:
    echo SID;
    你會發現的。

    5.問題:我的程序,在調用header函數之前沒有任何的輸出,雖然我include了一個config.php文件,但在config.php文件中也沒有任何的輸出,為什么session還是會報出與問題1同樣的錯誤呢,是不是因為我在header之前用了session_start()的緣故呢?
    答:或許你確實認真的檢查了你的php程序,在引用header()之前確實也沒有任何的輸出,并且在你的include文件中也沒有任何的輸出!但是你是否用光標鍵在?>這個PHP代碼結束語句后移動檢查呢?那么你會發現在?>這個后面,有一個空行或幾個空格,你刪除了這幾個空行或空格,那么問題就解決了。
    注:此問題,會出PHP4.1.2中,更高版本,沒有測試過。

    6.問:用session做登錄主頁面后,其它頁面怎么用session限制登錄。。。
    答:最簡單的方法是
    session_start();
    if(!session_registered(&apos;login&apos;) ││ $login != true) {
    echo "你沒有登陸";
    exit;
    }

    7.問:我用session_register()注冊了session變量,可是當我用header或用javascript的重定向語句,那么在一下頁面中,我卻訪問不到session所注冊的變量值。請問如何解決?
    問題的程序片段:
    session_start();
    $ok = &apos;love you&apos;;
    session_register(&apos;ok&apos;);
    header("location : next.php");
    ?>

    next.php
    session_start();
    echo $ok;
    ?>

    解決的方法:
    當你用header函數或window.location這樣的功能后,你上一個頁面所注冊的session變量,就會容易的丟失,關于這個問題的原因,至今仍沒有一個詳細的回答。
    不過有解決的方法。如下所示
    header("Location: next.php" ."?" . SID);
    在跳轉到下一頁面的時候,將session的當前id做為一個參數,傳到后一個頁面。

    8.session如何傳數組
    session_register(&apos;data&apos;);
    $data=array(1,2,3,4);

    方法是先注冊后賦值

    9.問題9:我是不是可以用像$HTTP_GET_VARS[&apos;**&apos;]方式來訪問session值呢?

    回答:可以,你可以使用如下global數組來訪問session,以加強網頁的安全性
    $HTTP_SESSION_VARS
    $_SESSION
    例程:
    session_start();
    $username = &apos;stangly.wrong&apos;;
    session_register(&apos;username&apos;);

    echo $HTTP_SESSION_VARS[&apos;username&apos;];
    echo &apos;
    &apos;;
    echo $_SESSION[&apos;username&apos;];
    ?>
    請參照此例程修改符合您自己的程序。

    問題10:session_unregister() 和 session_destroy() 有何區別?
    session_unregister()函數主要作用是注消當前的一sion.(譯自于php.net)

    例程:
    if(isset($_COOKIE[session_name()])) {
    session_start();
    session_destroy();
    unset($_COOKIE[session_name()]);
    }


    以上,所述是一些新手經常遇到的問題。或許是詳述不清,難免有誤所在,請高手指點批評。

     

    php中的session的配置

    今天調試程序遇到了session的設置問題,網上這篇文章比較好,共拿來學習,并供大家參考。
    轉載自旅行論壇 http://www/lvxing.net


    首先打開php.ini文件,找到session的部分:(分號后面的是注釋)

    [Session]
    ; Handler used to store/retrieve data.
    session.save_handler = files   ;    這個是session的方式,默認的files就可以了,代表用文件儲存

    ; Argument passed to save_handler.  In the case of files, this is the path  where data files are stored.
    session.save_path = /tmp ;      這個是session的保存路徑,比如你是c盤,那么默認就是c:/tmp, 所以如果出現“Warning: open(/tmpsess_cc8b04f146a1e0494bc464305da92ea1, O_RDWR)  failed”這樣子的錯誤,你可以修改這個路徑,或者在根目錄下面建立一個tmp的文件夾

    ; Whether to use cookies.
    session.use_cookies = 1 ;    sessionid的傳遞方式,默認是cookie,推薦使用

    ; Name of the session (used as cookie name).
    session.name = PHPSESSID ;    sessionid的名稱,保存在cookie里面的,要避免同名

    ; Initialize session on request startup.
    session.auto_start = 0 ;    是否自動啟動session,

    posted @ 2009-06-02 18:52 小馬歌 閱讀(2179) | 評論 (0)編輯 收藏
     

    from : http://blog.csdn.net/zhoucd_dl/archive/2008/01/16/2047094.aspx
    首先,我只是個初學者,希望能與大家一起交流,下面的學習總結中有著很的疑惑,需要同仁的解答,另外也希望可以為大家一起分享mondrian
      聯機分析處理(OLAP)的概念最早是由關系數據庫之父E.F.Codd于1993年提出的,他同時提出了關于OLAP的12條準則。OLAP的提出引起了很大的反響,OLAP作為一類產品同聯機事務處理(OLTP)明顯區分開來。
      當今的數據處理大致可以分成兩大類:聯機事務處理OLTP(on-line transaction processing)、聯機分析處理OLAP(On-Line Analytical Processing)。OLTP是傳統的關系型數據庫的主要應用,主要是基本的、日常的事務處理,例如銀行交易。OLAP是數據倉庫統的主要應用,支持復雜的分析操作,側重決策支持,并且提供直觀易懂的查詢結果。
      這里我們單獨說下OLAP. 聯機分析處理(OLAP)的主要特點,是直接仿照用戶的多角度思考模式,預先為用戶組建多維的數據模型,在這里,維指的是用戶的分析角度。例如對銷售數據的分析,時間周期是一個維度,產品類別、分銷渠道、地理分布、客戶群類也分別是一個維度。一旦多維數據模型建立完成,用戶可以快速地從各個分析角度獲取數據,也能動態的在各個角度之間切換或者進行多角度綜合分析,具有極大的分析靈活性。這也是聯機分析處理在近年來被廣泛關注的根本原因,它從設計理念和真正實現上都與舊有的管理信息系統有著本質的區別。
      其中我們現在學習的mondrian則是OLAP中的service位置.它負責將組裝cube,分析MDX,以及提取數據并組成多維,可以說負責的是后臺的數據處理.
      mondrian包含4層:表示層,計算層,聚集層,存儲層.
      表示層:指最終呈現在用戶顯示器上的,以及與用戶之間的交互,有許多方法來展現多維數據,包括數據透視表,餅,柱,線狀圖.
      計算層:分析,驗證,執行MDX查詢.
      聚集層:一個聚集指內存中一組計算值(cell),這些值通過維列來限制.計算層發送單元請求,如果請求不在緩存中,或者不能通過旋轉聚集導出的話,聚集層向存儲層發送請求.聚合層是一個數據緩沖層,從數據庫來的單元數據,聚合后提供給計算層。聚合層的主要作用是提高系統的性能。
      存儲層:提供聚集單元數據和維表的成員,這些層可以不在同一機子上,但是計算和聚集層必須是同一臺機子.
      在學習mondrian中主要的是對配置文件schema,這里引用官方網站文檔里面的例子.
       uniqueMembers="true"/>  uniqueMembers="true"/>
       uniqueMembers="false"/>  uniqueMembers="false"/>
       uniqueMembers="false"/>  uniqueMembers="false"/>
      
      
       aggregator="sum" formatString="#,###"/>  aggregator="sum" formatString="#,###"/>
       aggregator="sum" formatString="#,###.##"/>  aggregator="sum" formatString="#,###.##"/>
       formula="[Measures].[Store Sales]-[Measures].[Store Cost]">  formula="[Measures].[Store Sales]-[Measures].[Store Cost]">

      schema定義了一個多維數據庫。包含了一個邏輯模型,而這個邏輯模型的目的是為了書寫MDX語言的查詢語句。這個邏輯模型實際上提供了這幾個概念:Cubes,維度(Dimensions),層次(Hierarchies),級別(Levels),和成員(Members)。而schema文件就是編輯這個schema的一個xml文件。在這個文件中形成邏輯模型和數據庫物理模型的對應。
      l Cubes. 一個Cube是一系列維度(Dimension)和度量(Measure)的集合區域。在Cube中,Dimension和Measure的共同地方就是共用一個事實表。這個Cubes中的屬性有:name(Cubes的名字),caption(標題,你要在表示層顯示的),cache(是否對Cubes對應的實表用mondrian進行存儲,默認為 true),enabled(是布爾型的,如果是被激活,Cubes就執行,否則就不于理睬)里面有一個全局的  標簽確定了所用的事實表的表名
      l Diminsion,他是一個層次(Hierarchies)的集合, 維度一般有其相對應的維度表.他的組成是由層次(Hierarchies)而層次(Hierarchies)又是有級別(Level)組成.其屬性:name,type(有兩個屬性” Standard”和”Time”默認為Standard),caption,UsagePrefix(加前綴,消除歧義,有點模糊)
      l Hierarchy,你一定要指定其中的各種關系,如果沒有指定,就默認Hierarchy里面裝的是來自立方體中的真實表. 屬性:name,hasAll(布爾型的,決定是否包含全部的成員member),AllMemberName(所有成員的名字,也就是總的tile,例如: AllMemberName=”全部產品”), alllevelname(所有級別的名字 ,很少用), allMemberCaption(例如: allMemberCaption=” 全部產品”這個是在表示層顯示的內容). PrimaryKey(通過主鍵來確定成員,要是沒他就默認**模糊中!) primaryKeyTable(描述主鍵的表),defaultMember,memberReaderClass
      (定義的類的名字一定要) caption.
      l Measure, 他就是我們要計算的數值,BI中要面對的主題,具體到頁面上的顯示的測量數值.
      屬性:name,column(對應數據庫中的某個字段,), formatString(顯示的格式),aggregetor(我理解為計算的函數,例如; aggregator="count"), datatype,formatter(模糊),caption,visible(是否可見 布爾型).
      l Level,級別,他是組成Hierarchy的部分.屬性非常多,并且是schema編寫的關鍵.屬性:name,table(用到的表),column,namecolumn, Oridinalcolumn(字段的順序,只對Hierarchy中的最后一個級別Level有作用,如果沒指定字段 就不會排序),parentColumn( 涉及到的上一級Hierarchy成員字段的名字) NullParentValue(看成沒有上一級的Hierarchy的數值,代表為”null””0”),type,UniqueMember(是布爾型的,判斷在上級中是否是唯一的,例如:zipcodes are unique across all states.Thefirstlevel\'s members are always unique.), levelType(決定這是否是一個有次序或者是時間關系的級別例如:YTD 是year-to-date), captionColumn,formatter,caption,HideMemberIf(概念模糊).可以看出level有很多的屬性,所用功能也是比較強大的.
      MDX
      MDX是為了查詢多維數據的,而SQL是為了查詢關系數據庫的。而Mondrian所涉及到的一些MDX概念、MDX語法以及系統定義的MDX函數和微軟的MDX十分接近,差別微小。完全可以參考微軟的幫助文檔進行學習。

    本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/zhoucd_dl/archive/2008/01/16/2047094.aspx

    posted @ 2009-06-01 16:29 小馬歌 閱讀(451) | 評論 (0)編輯 收藏
    僅列出標題
    共95頁: First 上一頁 67 68 69 70 71 72 73 74 75 下一頁 Last 
     
    主站蜘蛛池模板: 91九色老熟女免费资源站| 亚洲天堂免费在线视频| jizzjizz亚洲日本少妇| 亚洲无码精品浪潮| 免费福利电影在线观看| ass亚洲**毛茸茸pics| 亚洲国产香蕉人人爽成AV片久久 | 国产美女做a免费视频软件| 一级大黄美女免费播放| 日韩精品一区二区亚洲AV观看| 处破痛哭A√18成年片免费| 久久免费国产精品| 亚洲一区二区三区深夜天堂| 久久久久亚洲AV成人网人人软件| 120秒男女动态视频免费| 看全免费的一级毛片| 亚洲黄色免费电影| 亚洲国产av无码精品| 黄色成人免费网站| 成人无码视频97免费| 亚洲日韩精品无码专区| 亚洲AV成人片色在线观看高潮 | 亚洲另类自拍丝袜第1页| 美女黄网站人色视频免费国产 | 东北美女野外bbwbbw免费| 国产亚洲精品成人AA片| 亚洲av无码精品网站| 无码专区一va亚洲v专区在线 | 在线看片免费不卡人成视频| 中文字幕免费观看视频| 亚洲av成本人无码网站| 亚洲系列中文字幕| 亚洲午夜久久久久妓女影院 | 国产精品亚洲产品一区二区三区 | 久久亚洲高清综合| 色视频色露露永久免费观看| 亚洲一级毛片免费观看| 久久午夜夜伦鲁鲁片免费无码| 免费一区二区三区在线视频 | 黄桃AV无码免费一区二区三区 | 亚洲AV无码一区二区三区牛牛|