Apache+mysql+php要用在ipv6上

我要架設伺服器網頁,是用Apache+mysql+php

且我的伺服器網頁要用在ipv6上,

要在php.ini中加入什麼函式呢?

還有在php程式中,要打什麼程式碼嗎?

還是,

還有其他的方法可以讓我的架設伺服器在ipv6上跑呢?

要會跑得動唷!

伺服器所用的平台是windows server 2003!

已更新項目:

回勇氣:

我是要架在windows 2003 上,我不用iis,用iis再用阿帕器不會沖到嗎?

你知道內部設定要設定什麼嗎 ? 且您似乎搞錯我要問的東西了!

裝東西隨便爬文都找得到安裝的教學,所以我在這補充一下!

重點一 是 要 弄 在 " IPv6 " 上 面 跑 !!

重點 是要弄在 " IPv6 " 上面跑 !

而且是一定要用Apache+mysql+php 架,

也問過大學的教授,他們也說是要在 php.ini 中加 庫存函式

但這還蠻新的技術所以不好找到要加入 什麼庫存函式。

2 個已更新項目:

重點二 來了,

重點二 是 要在 php.ini 中加入什麼函式 或 php網頁程式 中打什麼程式碼 ?

加入後使得我的伺服器中的網頁可以 支援 "IPv6",可以在 "IPv6" 上面跑!

4 個解答

評分
  • 匿名使用者
    1 0 年前
    最佳解答

    IPv6 Detection class

    @copyright 2002-2003 by Dynamix SARL

    @author Ben Yacoub Hatem <hatem@php.net>

    detect if an IP is IPv6

    @param ip adresse ip א tester

    @return true / false

    <?php

    class ipv6

    {

    function is_ipv6($ip = "")

    {

    if ($ip == "")

    {

    $ip = ipv6::get_ip();

    }

    if (substr_count($ip,":") > 0 && substr_count($ip,".") == 0){

    return true;

    } else {

    return false;

    }

    }

    /*

    * Detect if an IP is IPv4

    *

    * @param ip adresse ip א tester

    * @return true / false

    */

    function is_ipv4($ip = "")

    {

    return !ipv6::is_ipv6($ip);

    }

    /*

    * return user IP

    *

    * @return IP

    */

    function get_ip()

    {

    return getenv ("REMOTE_ADDR");

    }

    /*

    * Uncompress an IPv6 address

    *

    * @param ip adresse IP IPv6 א dיcompresser

    * @return ip adresse IP IPv6 dיcompressי

    */

    function uncompress_ipv6($ip ="")

    {

    if ($ip == "")

    {

    $ip = ipv6::get_ip();

    }

    if(strstr($ip,"::" ))

    {

    $e = explode(":", $ip);

    $s = 8-sizeof($e) 1;

    foreach($e as $key=>$val)

    {

    if ($val == "")

    {

    for($i==0;$i<=$s;$i )

    $newip[] = 0;

    } else {

    $newip[] = $val;

    }

    }

    $ip = implode(":", $newip);

    }

    return $ip;

    }

    /*

    * Compress an IPv6 address

    *

    * @param ip adresse IP IPv6 א compresser

    * @return ip adresse IP IPv6 compressי

    */

    function compress_ipv6($ip ="")

    {

    if ($ip == "")

    {

    $ip = ipv6::get_ip();

    }

    if(!strstr($ip,"::" ))

    {

    $e = explode(":", $ip);

    $zeros = array(0);

    $result = array_intersect ($e, $zeros );

    if (sizeof($result) >= 6)

    {

    if ($e[0]==0) {$newip[] = "";}

    foreach($e as $key=>$val)

    {

    if ($val !=="0")

    {

    $newip[] = $val;

    }

    }

    $ip = implode("::", $newip);

    }

    }

    return $ip;

    }

    }

    /*

    * IPv6 Compression

    */

    echo " IPv6 compression : ".ipv6::compress_ipv6("0:0:0:0:0:0:0:1")."

    n";

    /*

    * IPv6 Uncompression

    */

    echo "IPv6 Uncompression : ".ipv6::uncompress_ipv6("::1")."

    n";

    /*

    * Tester IPv6

    */

    echo "Your IP is ".ipv6::get_ip()." et You're using : ";

    echo (ipv6::is_ipv6())? "IPv6":"IPv4";

    ?>

    另外還有一個解答如網址

    • Commenter avatar登入以對解答發表意見
  • 1 0 年前

    頭目: 你這貼在回答中,或許可以得20點喔!

    • Commenter avatar登入以對解答發表意見
  • 轟頭
    Lv 5
    1 0 年前

    不管是IPv4或IPv6,重點是要讓Apache能夠接受這種協定,然後在主機裡面運作

    (這和php.ini函式有啥關係嗎?如果您有解答也請po出來參考!!感謝)

    Apache在內核2.4.8說明有提過,已經可以接受IPv6

    只要增加一組Listen,如下

    Listen [2001:db8::a00:20ff:fea7:ccea]:80<=必須括號

    至於是那一個Apache版本,您就得多找找了

    2007-06-24 19:36:38 補充:

    助人為快樂之本

    我在遊戲中升級就可以

    感謝厚愛~啵啾 >o<

    • Commenter avatar登入以對解答發表意見
  • 勇氣
    Lv 5
    1 0 年前

    你說架在windows 2003 server上嗎!!要在iis6嗎!!你要先把iis6安裝起來後,在執行阿帕器內部設定就可以了!!不然你也可以用雷電httpd也粉好用的說,如有問題可以去以下的網站尋問後,免費代架

    http:\\www.webmail.idv.tw

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。