zoukankan      html  css  js  c++  java
  • PHP自学,第一阶段,基础学习

    环境搭建OS X系统上


    Win7执行OS X虚拟机


    在 OS X上安装MAMP执行环境


    IDE使用 Netbeans PHP版本号开发


    数据库使用mysql


    自学资料使用:PHP从入门到精通.pdf


    第一阶段书写学习代码。外加凝视具体解释



    <!DOCTYPE html>
    <!--
    To change this license header, choose License Headers in Project Properties.
    To change this template file, choose Tools | Templates
    and open the template in the editor.
    -->
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
        </head>
        <body>
            <!--<?php
            $a = print("I 老虎 U??

    "); // 这个是同意的
            echo $a; // $a的值 是1
            ?>-->
            <!--<?php
            echo "欢迎进入PHP的世界!。";
            ?

    >-->
            <!--<?php
            echo "恭喜您走上PHPdeian编程之路!

    ";
            ?>-->
            <!--<?php
            echo "<table border='1'><tr><td>我是胖鱼做出来的</td></tr></table>";
            ?>-->




            <!--多种使用PHP的方法-->
            <!--<script language="php">
            echo "这是脚本使用PHP";
            </script>
            <?echo '这是简短风格de标记';?>
            <%echo '这是ASP风格的标记';%>-->
            <?php
            //凝视方式
            //echo "<table border='1'><tr><td>我是胖鱼做出来的</td></tr></table>";
            /*
             * 多行凝视
             */


            #Shell脚本方式凝视
            ?>
            <!--<?php
            //php中的if使用
            $boo = true;
            if ($boo == false)
                echo '变量$boo为真';
            else
                echo '变量$boo为假';
            ?

    >-->
            <!--<?

    php
            //定义字符串时,单引號和双引號是不一样的
            //双引號中所包括的变量会自己主动被替换成实际数值。而单引號中包括的变量则按普通字符串输出
            //字符串中的特殊字符还是要使用来转义,和JAVA同样
            $i = '仅仅会看到一遍';  //声明一个字符串变量
            echo "$i";        //用双引號输出
            echo "<p>";       //输出段标记
            echo "$i";        //用单引號输出
            ?>-->
            <!--<?php
            $str1 = 1234567890;                           //声明一个十进制的整数
            $str2 = 0 * 1234567890;                         //声明一个十六进制的整数
            $str3 = 01234567890;                          //声明一个八进制的整数
            $str4 = 01234567;                             //声明还有一个八进制的整数
            echo '数字1234567890不同进制的输出结果:<p>';
            echo '十进制的结果是:' . $str1 . '<br>';           //输出一个十进制整数
            echo '十六进制的结果是:' . $str2 . '<br>';          //输出十六进制整数
            echo '八进制的结果:';
            if ($str3 == $str4) {                          //推断$str3和$str4的关系
                echo '$str3=$str4=' . $str3;               //假设相等,输出变量值
            } else {
                echo '$str3!=str4';                      //假设不相等。输出"$str3!=$str4"
            }
            ?>-->
            <!--
            <?php
            echo '圆周率的3种书写方法:';
            echo '第一种:pi()=' . pi() . '';               //调用pi函数输出圆周率
            echo '另外一种:3.14159265359=' . 3.14159265359 . ''; //传统书写格式的浮点数
            echo '第三种:3.14159265359E-11=' . 314159265359E-11 . ''; //科学计数法格式的浮点数
            ?>-->
            <!--<?php
            //数组的使用方法
            $arr1 = array('This', 'is', 'a', 'example');
            $arr2 = array(0 => 'php', 1 => 'is', 'the' => 'the', 'str' => 'best');
            $arr3[0] = 'tempname';
            echo 'arr1=' . $arr1[0] . '<p>';
            echo 'arr2=' . $arr2['the'] . '<p>';
            echo 'arr3=' . $arr3[0];
            ?

    >-->
            <!--<?php
            /*
             * is_null()函数是推断变量是否为null。该函数返回一个boolean型,假设
             * 变量为null,则返回true,否则返回false,unset()函数用来销毁指定的变量
             */




            echo "变量($string1)直接赋值为null:";
            $string1 = null;                                 //变量$string1被赋空值
            $string3 = "str";                                 //变量$string3被赋值str
            if (is_null($string1)) {                          //推断$string1是否为空
                echo "string1=null";
            }
            echo "<p>变量($string2)未被赋值:";
            if (is_null($string2)) {                         //推断$string3是否为空 
                echo "string2=null";
            }
            echo "<p>被unset()函数处理过的变量($string3):";
            unset($string3);                                //释放$string3
            if (is_null($string3)) {                          //推断$string3是否为空
                echo"string3=null";
            }
            /* unset() 销毁指定的变量。


              unset() 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。




              假设在函数中 unset() 一个全局变量,则仅仅是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。


             * 
             */
            ?>-->
            <!--<?php
            //类型强制转换
            /*
             * (boolean)  转换成布尔类型 (boolean)$num;
             * (string)   转换成字符型   (string)$boo;
             * (integer)   转换成整型   (integer)$boo;
             * (float)   转换成浮点型   (float)$boo;
             * (array)   转换成数组   (array)$boo;
             * (object)   转换成对象   (object)$boo;
             */
            /*
             * PHP中的类型转换和C语言一样。很easy,仅仅须要在变量前加上用括号起来的类型名称就可以。还有一种方法还能够通过settype()函数来完毕,该函数能够将指定的变量转换成指定的数据类型。
              在进行类型转换的过程中应注意下面几点:
              转换成boolean型时,null,0和未赋值的变量或数组会被转换为false,其它的为真;
              转换成整形时,布尔型的false转换为0,true转换为1,浮点型的小数部分被舍去。字符型假设以数字开头就截取到非数字位,否则输出0.
              当字符串转换为整形或浮点型时,假设字符串是以数字开头的,就会先把数字部分转换为整形,再舍去后面的字符串;假设数字中含有小数点,则会取到小数点前一位。


             */
            $num = '3.1415926r*r';                      //声明一个字符串变量
            echo '使用(integer)操作符转换变量$num类型:';
            echo (integer) $num;                        //使用integer转换类型
            echo '<p>';
            echo '输出变量$num的值:' . $num;               //输出原始变量$num
            echo '<p>';
            echo '使用settype函数转换变量$num类型:';
            echo settype($num, 'integer');               //使用settype函数转换类型
            echo '<p>';
            echo '输出变量$num的值:' . $num;                 //输出原始变量$num


            /*
             * 使用integer操作符能直接输出转换后的变量类型。

    而且原变量不发生不论什么变换。
             * 而使用settype()函数返回的是1。也就是true。而原变量被改变了。
             */
            ?>-->


            <!--<?php
            /*
             *                              检測类型
             * 函数                            检測类型                       举例
             * is_bool          检查变量是否是布尔类型                  is_bool(true),is_bool(false)
             * is_string        检查变量是否是字符串类型                 is_string('string'),is_string(1234)
             * is_float/is_double   检查变量是否是浮点类型              is_float(3.1415),is_float('3.1415')
             * is_integer/is_int    检查变量是否是整形                  is_integer(34),is_integer('34')
             * is_null              检查变量是否是null                  is_null(null)
             * is_array             检查变量是否是数组类型                is_array($arr)
             * is_object            检查变量是否是一个对象类型              is_object($obj)
             * is_numeric        检查变量是否是数字或由数字组成的字符串     is_numeric('5'),is_numeric('bcd110') 
             */
            //使用is_numeric()函数
            $boo = "043112345678";
            if (is_numeric($boo))
                echo "Yes,the $boo a phone number : $boo !";
            else
                echo "Sorry,This is an error!";
            ?>-->


            <!--<?

    php
            /*
             *                      声明和使用常量
             * 常量能够理解为值不变的量。常量值被定义后,在脚本的其它不论什么地方都不能改变。
             * 一个常量由英文字母,下划线和数字组成。但数字不能作为首字母出现。


             * 使用define()函数来定义常量,该函数的语法格式为:
             * define(string constant_name,mixed value,case_sensitive=true)
             * 參数含义
             * constant_name        必选參数,常量名称。即标示符
             * value                必选參数,常量的值
             * case_sensitive       可选參数,指定是否大写和小写敏感。设定为true,表示不敏感
             * 
             * 
             * 获取常量的值由两种方法:一种是使用常量名直接获取值 ;还有一种是使用constant()函数,
             * constant()函数和直接使用常量名输出的效果是一样的,但函数能够动态的输出不同的常量,
             * 在使用上咬灵活方便得多。函数的语法格式为:
             * 
             * mixed constant(string constr_name)
             * 
             * 參数const_name为要获取常量的名称,也能够为储存常量名的变量。假设成功则返回常量的值,
             * 否则提示错误信息常量没有被定义
             * 要推断一个常量是否已经定义,能够使用defined()函数。

    函数的语法格式为:
             * 
             * bool defined(string constant_name);
             * 
             * 參数constant_name为要获取常量的名称。成功则返回true,否则返回false.
             *              
             */
            define("MESSAGE", "能好看到一次");
            echo MESSAGE . "<br>";                //输出常量MESSAGE
            echo Message . "<br>";                //输出“Message”,表示没有该变量
            define("COUNT", "能看到多次", true);
            echo COUNT . "<br>";                  //输出常量COUNT
            echo Count . "<br>";                  //输出常量COUNT。由于设定大写和小写不敏感
            $name = "count";
            echo constant($name) . "<br>";        //输出常量COUNT
            echo (defined("MESSAGE")) . "<br>";   //假设常量被定义,则返回TRUE,使用echo输出显示1
            ?>-->




            <!--<?

    php
            /*
             *                      提前定义常量
             * PHP中能够使用提前定义常量获取PHP中的信息。经常使用的提前定义常量如表
             * 
             * 常量名                     功能
             * __FILE__                 默认常量,PHP程序文件名称
             * __LINE__                 默认常量,PHP程序行数
             * PHP_VERSION          内建常量,PHP程序的版本号。如3.0.8_dev
             * PHP_OS               内建常量。运行PHP解析器的操作系统名称,如Windows
             * TRUE                 该常量是一个真值(true) 
             * FALSE                该常量是一个假植(false)
             * NULL                 一个NULL值
             * E_ERROR              该常量指到近期的错误处
             * E_WARNING            该常量指到近期的警告处
             * E_PARSE              该常量指到解析语法有潜在问题处
             * E_NOTICE             该常量为发生不平常出的提示但不一定是错误处  
             * 
             * 
             * 注意:__FILE__和__LINE__中的“__”是两条下划线,而不是一条
             * 
             * 说明:
             *      表中的以E_开头的提前定义常量,是PHP的错误调试部分。

    如需具体了解,请參考
             *      error_reporting()函数。
             */
            echo "当前文件路径:" . __FILE__;             //输出__FILE__常量
            echo "<br>当前行数:" . __LINE__;            //输出__LINE__常量
            echo "<br>当前PHP版本号信息:" . PHP_VERSION;   //输出PHP版本号信息
            echo "<br>当前操作系统:" . PHP_OS;
            ?

    >-->






            <!--<?php
            /**
             * 
             *          变量
             */
            //变量间的赋值。
            $string1 = "spcn";            //声明变量$string1
            $string2 = $string1;          //使用$string1初始化$string2
            $string1 = "zhuding";         //改变变量$string1的值
            echo $string2 . "<br>";       //输出变量$string2的值
            echo $string1;




            //从PHP4開始。PHP引入了“引用赋值”的概念。引用的概念是,用不同的名字
            //訪问同一个变量内容。

    当改变当中一个变量的值时,还有一个也跟着发生变化
            //使用&符号来表示引用


            $i = "spcn";                  //声明变量$i
            $j = & $i;                    //使用引用赋值,这时$j已经赋值为span
            $i = "hello,$i";              //又一次给$j赋值
            echo "<br>" . $j;                    //输出变量$j
            echo "<br>";
            echo $i;                    //输出变量$i
            ?>-->








            <!--<?php
            /*
             *                          变量作用域
             *      变量在使用时。要符合变量的定义规则。

    变量必须在有效范围内使用,假设变量超出
             * 有效范围,则变量也就失去其意义了。变量的作用域如表
             * 
             * 作用域       说明
             * 局部变量     在函数的内部定义的变量,其作用域是所在函数
             * 
             * 全局变量     被定义在全部函数以外的变量。其作用域是整个PHP文件。但在用户自己定义函数
             *             内部是不可用的。假设希望在用户自己定义函数内部使用全局变量。则要使用global
             *             keyword声明
             * 
             * 静态变量     可以在函数调用结束后仍保留变量值,当再次回到其作用域时,又可以继续使用
             *             原来的值。而一般变量是在函数调用结束后,其存储的数据值将被清除。所占的内存
             *             空间被释放。使用静态变量时,先要用keywordstatic来声明变量,吧keywordstatic
             *             放在腰定义的变量之前
             * 
             * 在函数内部定义的变量,其作用域为所在函数。假设在函数外赋值。将被觉得是全然不同
             * 的还有一个变量。再退出声明变量的函数时,该变量及对应的值就会被清除。
             * 
             */
            $example = "在。

    。。

    函数外";


            function example() {
                $example = "。。

    。。。

    在函数内。。

    。。";
                echo "在函数内输出的内容是:$example.<br>";
            }


            example();
            echo "在函数外输出的内容是:$example.<br>";


            //------静态变量在非常多地方都能用到。

    比如,在博客中使用静态变量记录游览者得人数,每一次
            //用户訪问和离开时,都可以保留眼下浏览者的人数。

    在聊天室也可以使用静态变量来记录用户的聊天内容
            //使用静态变量和普通变量同一时候输出一个数据
            function zdy() {
                static $message = 0;          //初始化静态变量
                $message+=1;                //静态变量加1
                echo $message . "";           //输出静态变量
            }


            function zdy1() {
                $message = 0;                 //声明函数内部变量(局部变量)
                $message+=1;                //局部变量加1
                echo $message . "";           //输出局部变量
            }


            for ($i = 0; $i < 10; $i++)
                zdy();                      //输出1~10
            echo"<br>";
            for ($i = 0; $i < 10; $i++)
                zdy1();                     //输出10个1;
            echo"<br>";
            /* er
             * 
             *      自己定义函数zdy()是输出从1~10共10个数字,而zdy1()函数则输出的是10个1.由于
             * 自己定义函数zdy()含有静态变量。而函数zdy1()是一个普通变量。初始化都为0,再分别使用
             * for循环调用两个函数,结果是静态变量的函数zdy()再被调用后保留了$message中的值。
             * 而静态变量的初始化仅仅是在第一次遇到时被运行,以后就不在对其进行初始化操作了。将会
             * 略过第三行代码不运行;而普通变量的函数zdy1()在被调用后,其变量$message失去了原来的
             * 值。又一次被初始化为0.
             * 
             * 
             * 
             * 全局变量能够在程序中的不论什么地方訪问,可是在用户自己定义函数内部是不可用的。想在用户自己定义
             * 函数内部使用全局变量,要使用globalkeyword声明。
             */
            $zy = "不会看到";             //声明全局变量$zy
            $zyy = "会看到";              //声明全局变量$zyy


            function lxt() {
                echo $zy . "<br>";        //$zy不能被调用,没有输出
                global $zyy;            //利用keywordglobal在函数内部定义全局变量
                //字符串链接.   同等于JAVA中的+
                $zyy = $zyy . "安鹏";
                echo $zyy . "<br>";       //此处调用$zyy
            }


            lxt();
            ?>-->


            <!--<?php
            /*
             *                      可变变量
             *      可变变量是一种独特的变量,它同意动态改变一个变量名称。其工作原理是该变量的名称
             * 由另外一个变量的值来确定。实现project就是在变量的前面再多加一个美元符号“$”;
             */
            $change_name = "trans";
            $trans = "You can see me!";
            echo $change_name;
            echo "<br>";
            echo $$change_name;
            ?>-->
            <!--<?php
            /*
             * PHP提前定义变量
              经常使用的提前定义变量例如以下表:
              $_SERVER[‘SERVER_ADDR’] 当前执行脚本所在server的IP地址
              $_SERVER[‘SERVER_NAME’] 当前执行脚本所在server的名称
              $_SERVER[‘REQUEST_METHOD’]  訪问页面时的请求方法。

    如GET、POST、HEAD、PUT等,假设请求的方式是HTAD,PHP脚本将在送出头信息后中止(这意味着在产生不论什么输出后,不再有输出缓冲)
              例:if($_SERVER['REQUEST_METHOD']== 'POST'){      //推断是否是提交操作
              程序体。如将提交的信息加入到数据库中等等一系列的操作。
              }
              $_SERVER[‘REMOTE_ADDR’]  正在浏览当前页面用户的IP地址。


              $_SERVER[‘REMOTE_HOST’]   正在浏览当前页面用户的主机名。反向域名解析基于该用户的remote_addr
              $_SERVER[‘REMOTE_PORT’]    用户连接server时所使用的port
              $_SERVER[‘SCRIPT_FILENAME’]   当前运行脚本的绝对路径。注意,假设脚本在CLI中被运行,作为相对路径,如file.php或者../file.php,$_SERVER[‘SCRIPT_FILENAME’]将包括用户指定的相对路径。
              $_SERVER[‘SERVER_PORT’]    server所使用的port,默觉得80。假设使用ssl安全连接。则这个值为用户设置的port
              $_SERVER[‘SERVER_SIGNATURE’]          包括server版本号和虚拟主机名的字符串
              $_SERVER[‘DOCUMENT_ROOT’]       当前执行脚本所在的文档根文件夹,在server配置文件里定义。
              $_COOKIE    通过httpcookie传递到脚本的信息。

    这些cookie多数是由运行PHP脚本时,通过setcookie()函数设置的。
              $_SESSION   包括与全部会话变量有关的信息。$_SESSION变量主要应用于会话控制和页页之间值的传递。
              $_POST    包括通过POST方法传递的參数的相关信息。主要用于获取通过POST方法提交的数据。


              $_GET   包括通过GET方法传递的參数的相关信息。

    主要用于获取通过GET方法提交的数据
              $GLOBALS    由全部已定义全局变量组成的数组。

    变量名就是该数组的索引。它能够称得上是全部超级变量的超级集合。


              注意:提前定义变量是区分大写和小写的。
             */
            echo $_SERVER['SERVER_ADDR'] . '<br>';
            echo $_SERVER['SERVER_NAME'] . '<br>';
            echo $_SERVER['REQUEST_METHOD'] . '<br>';
            echo $_SERVER['REMOTE_ADDR'] . '<br>';
            echo $_SERVER['REMOTE_HOST'] . '<br>';
            echo $_SERVER['REMOTE_PORT'] . '<br>';
            echo $_SERVER['SCRIPT_FILENAME'] . '<br>';
            echo $_SERVER['SERVER_PORT'] . '<br>';
            echo $_SERVER['SERVER_SIGNATURE'] . '<br>';
            echo $_SERVER['DOCUMENT_ROOT'] . '<br>';
            /*
             * $_COOKIE。是文件头信息,而文件头是不可显示内容。

    也就是说,不能在正文中操作$_COOKIE。

    更通俗地说,在浏览器中查看源代码,仅仅要源代码不为空。再使用$_COOKIE系统将报错。




              解决方法:将$_COOKIE赋值给变量。再对变量进行操作。比方
              ………………
              $user_cookie=$_COOKIE['usercookie']
              ………………
              echo $user_cookie
             */
            echo $_COOKIE . "<br>";
            ?>-->




            <!--<?php
            /*
             *               算数运算符(和Java同样)   
             * 
             * 名称         操作符          举例
             * 加法运算         +           $a+$b
             * 减法运算         -           $a-$b
             * 乘法运算         *           $a*$b
             * 除法运算         /           $a/$b
             * 取余运算         %           $a%$b
             * 递增运算         ++          $a++,++$a
             * 递减运算         --          $a--,--$a
             * 
             * 在算术运算符中使用%求余,假设被除数($a)是负数,那么取得的结果也是一个负值。
             */
            $a = -100;
            $b = 50;
            $c = 30;
            echo "$a=" . $a . ",";
            echo "$b=" . $b . ",";
            echo "$c=" . $c . "<p>";
            echo "$a+$b=" . ($a + $b) . "<br>";
            /*
             * - 
             * *
             * /
             * %
             * .
             * .
             * .
             */
            ?

    >-->






            <!--<?php
            /*
             * 字符串运算符仅仅有一个,即英文的句号"."。它将两个字符串链接起来,结合成一个新的字符串。
             * 使用过C或JAVA的应该注意,这里的“+”号仅仅用做赋值运算符使用,而不能用作字符串运算符。 
             */
            $n = "3.1415926r*r";
            $m = 1;
            $nm = $n . $m;
            echo $nm . "<br>";
            $mn = $n + $m;
            echo $mn . "<br>";
            ?>-->
            <!--<?

    php
            /*
             * PHP中的赋值运算符跟JAVA同样
             * =
             * +=
             * -=
             * *=
             * /=
             * .=   $a.=b      $a=$a.b     将右边的字符加到左边
             * %
             */
            ?>-->


            <!--<?

    php
            /*
             *                      位运算符
             * 位逻辑运算符是指对二进制位从低位到高位对齐后进行运算
             * 
             * 
             * 符号             作用                    举例
             * &                按位与                  $m & $n
             * |                按位或                  $m | $n
             * ^                按位异或                $m ^ $n
             * ~                按位取反                $m ~ $n
             * <<               向左移位                $m << $n
             * >>               向右移位                $m >> $n
             */
            $m = 8;
            $n = 12;
            $mn = $m & $n;
            echo $mn . "<br>";
            $mn = $m | $n;
            echo $mn . "<br>";
            $mn = $m ^ $n;
            echo $mn . "<br>";
            $mn = ~$m;
            echo $mn . "<br>";
            ?

    >-->


            <!--<?php
            /*
             *                      逻辑运算符
             * 
             * 运算符                   举例                    结果为真
             * &&或and(逻辑与)          $m and $n               当$m和$n都为真时
             * ||或or(逻辑或)           $m||$n                  当$m为真或者$n为真时
             * xor(逻辑异或)            $m xor $n               当$m,$n一真一假时
             * !(逻辑非)                !$m                     当$m为假时
             * 
             * 在逻辑运算符中。逻辑与和逻辑或这两个运算符有4种运算符号(&&,and,||和or)。当中
             * 属于同一个逻辑结构的两个运算符号(比如&&和and)之间却有着不同的优先级
             */
            $i = true;                //声明一个布尔型变量$i,赋值为真
            $j = true;                //声明一个布尔型变量$j,赋值也为真
            $z = false;               //声明一个初值为假的布尔变量$z
            if ($i or $j and $z)     //用or作推断
                echo "true";        //假设if表达式为真,输出true
            else
                echo "false";       //否则输出false
            echo "<br>";


            if ($i || $j and $z)       //用||作推断
                echo "true";        //假设表达式为真。输出true
            else
                echo "false";       //假设表达式为假。输出false
                /*
                 * 注意:
                 *      能够看到,两个if语句除了or和||不同之外。其它全然一样。但最后的结果却正好
                 * 相反。在实际应用中要多注意一下这种细节。
                 */
            ?>-->
            <!--<?php
            /*
             *                      比較运算符
             * 大多运算符JAVA中同样
             * 
             * 当中。不太常见的就是===和!==。$a===$b,说明$a和$b不仅仅是数值上相等,并且二者的类型
             * 也一样。!==和===的意义相近,$a!==$b就是说$a和$b或者数值不等,或者类型不等
             */
            $value="100";                           //声明一个字符串变量$value
            echo "$value="$value"";
            echo "<p>$value==100;";
            var_dump($value==100);                  //结果为:bool(true)
            echo "<p>$value==true;";
            var_dump($value==true);                 //结果为:bool(true)    
            echo "<p>$value!=null;";
            var_dump($value!=null);                 //结果为:bool(true  
            echo "<p>$value==false;";
            var_dump($value==false);                //结果为:bool(false)
            echo "<p>$value===100;";
            var_dump($value===100);                 //结果为:bool(false)
            echo "<p>$value===true;";
            var_dump($value===true);                //结果为:bool(true)
            echo"<p>(10/2.0!==5);";             
            var_dump(10/2.0!==5);                   //结果为:bool(true)
            ?

    >-->










        </body>
    </html>




























  • 相关阅读:
    python 连接ubuntu xampp mysql
    [解决] win7能上网,ubuntu14.04不行
    ubuntu14.04 安装 pyv8
    QT_QMAKE_EXECUTABLE reported QT_INSTALL_LIBS as /usr/lib/i386-linux-gnu but ...
    网站运营思想
    织梦直接往数据库写入数据
    [xunsearch] 在thinkphp中使用xunsearch
    [xampp] phpmyadmin 设置登录密码
    [centos6.5] 把xampp的htdocs改为其他目录
    [ubuntu] service apache2 restart [fail]
  • 原文地址:https://www.cnblogs.com/yutingliuyl/p/7307825.html
Copyright © 2011-2022 走看看