<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 1.7 最后的微調 我們已經安裝了Linux(Ubuntu),Apache,PHP和MySQL。至此,一個基本的LAMP結構已經搭建完成。但是我們還缺少最后關鍵的幾步,將這幾個單元有機地整合起來。 ## 1.7.1 對Apache的微調 我們需要對Apache進行的微調是使得它支持URL重寫規則。這個是我們日后用Symfony編寫應用并分發測試時必須的: ~~~ sudo a2enmod rewrite ~~~ 該命令將使得Apache支持URL重寫。 ~~~ sudo service apache2 restart ~~~ 該命令將重啟Apache服務,我們剛才的改動從此生效。 ## 1.7.2 對PHP的微調 對PHP的微調分為幾個方面。一個是對`php.ini`配置文件的修改,一個是添加一些PHP的掛接模塊(特別是MySQL模塊)。 一般而言,在安裝好Apache之后再安裝PHP,則PHP的安裝過程中會自動掛接一個`libapache2-mod-php5`的Apache模塊。在重啟Apache之后,Apache就開始支持PHP腳本的解析。 如果PHP的安裝沒有自動掛接該Apache模塊,我們可以手動安裝: ~~~ sudo apt-get install libapache2-mod-php5 ~~~ 然后重啟Apache服務使模塊生效。 ### 1.7.2.1 修改`php.ini` PHP的配置文件有兩個,分別處理PHP在命令行中執行和在Apache中作為模塊執行時的表現。由于我們是要進行Web開發,所以我們要修改的是所謂Web下的PHP配置文件。該文件位于`/etc/php5/apache2`,對其修改需要`root`權限(我們登錄時使用的`vagrant`用戶就具有`root`權限)。 一般而言,我們不用太多地修改這個文件,但是有這么幾項還是需要進行改動的: ~~~ date.timezone = Asia/Shanghai ;或者用UTC;或者你喜歡的時區 upload_max_filesize = 100M ;設置的這么大,是因為有時需要通過上傳大圖片 post_max_size = 100M ;這個值和上面這個值的設置最好保持一致 ~~~ ### 1.7.2.2 PHP模塊 PHP模塊又稱為PHP擴展,是一些可掛載的程序(在Linux系統下是`*.so`),為PHP語言本身提供更多的功能。有關PHP模塊的開發,已經超出了本書的范圍。有興趣的讀者可以參閱我寫的系列教程:[第一部分](http://www.sitepoint.com/getting-started-php-extension-development-via-php-cpp/),[第二部分](http://www.sitepoint.com/php-extension-development-php-cpp-object-oriented-code/),[第三部分](http://www.sitepoint.com/developing-php-extensions-c-php-cpp-advanced/)。 到底要裝哪些模塊完全是個人喜好和開發要求決定,沒有標準。 作為本書所討論的Web應用,我選擇安裝了如下擴展: ![](https://box.kancloud.cn/43c655cf9fdebc321a281dca9ae3872c_675x425.png) 這些擴展的具體介紹可以參見相關文檔。 注意:`complex.so`是我自己開發的一個復數模塊,你在別處找不到,只能根據我的教程自己編譯。沒有這個模塊也不會影響我們后面的開發。 這些模塊的安裝都可以使用類似的方法。比如,我們要安裝`mcrypt`這個擴展,那么我們這么做: ~~~ apt-cache search mcrypt | grep php ~~~ 這個命令會給出如下的信息: ~~~ php-crypt-blowfish - Allows for quick two-way blowfish encryption without requiring the MCrypt PHP extension php5-mcrypt - MCrypt module for php5 ~~~ 其中的`php5-mcrypt`就是我們要安裝的擴展名。然后我們用: ~~~ sudo apt-get install php5-mcrypt ~~~ 命令就可以完成安裝和配置了。 模塊安裝完成后,建議重新啟動Apache服務。 ## 1.7.3 對MySQL的微調 對MySQL的微調也分為兩部分。一部分是和PHP的掛接,一部分是MySQL本身的微調。 ### 1.7.3.1 和PHP的掛接 我們安裝了PHP,也安裝了MySQL,但是我們還沒有在PHP中掛接MySQL擴展。只有掛接了這個MySQL擴展,我們才能在我們的PHP程序中使用MySQL數據庫的功能。 ~~~ sudo apt-get install php5-mysql ~~~ 如果覺得有必要,你也可以安裝一個`phpmyadmin`來對MySQL數據庫進行管理: ~~~ sudo apt-get install phpmyadmin ~~~ 但是我們也可以遠程來管理MySQL數據庫。 ### 1.7.3.2 修改`my.cnf` MySQL的配置文件是:`/etc/mysql/my.cnf`。 我們需要記住:我們在Windows機器上進行開發,通過Vagrant的文件夾共享將我們的修改直接映射到Vagrant盒子中。相對我們的Windows機器,這個盒子是“遠程”的(因為我們的盒子設置中,其IP和我們Windows機器的IP不是一個,更不在一個網段)。 缺省情況下,MySQL只對本級的MySQL請求做出響應,因此無法進行遠程管理。使用PHPMyAdmin雖然可以解決這個問題,但是我比較喜歡用本地GUI的程序來管理遠程MySQL,所以需要設置MySQL以放開遠程管理。 ~~~ bind-address = 127.0.0.1 ~~~ 修改完畢后,使用如下命令重啟MySQL服務: ~~~ sudo service mysql restart ~~~ 在終端登錄MySQL,輸入如下命令: ~~~ grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option ~~~ 好了。經過這些修改后,我們在Windows機器中也可以用GUI程序來管理在Vagrant運行的MySQL服務器了。我個人使用的是Valentina Studio Pro(我為這個軟件寫過一篇[測評](http://www.sitepoint.com/look-valentina/),所以獲得了一個免費的專家版授權)。還有很多免費的GUI程序可以下載使用,比如MySQL官方推薦的[MySQL Workbench](http://www.mysql.com/products/workbench/)。 至此,我們的LAMP服務器設置基本完成——只有最后一步了:我們需要設置一個虛擬服務器來使得我們可以遠程訪問我們的站點。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看