結合php配置apache

來源:互聯網
上載者:User

標籤:apache   php解析   

★apache的設定檔

 ◆/usr/local/apache2/conf/httpd.conf

 ◆/usr/local/apache2/bin/apachectl -l  可以列出所有的static模組,即httpd的核心模組

[[email protected] ~]# /usr/local/apache2/bin/apachectl -l
Compiled in modules:
  core.c
  mod_so.c
  http_core.c
  event.c         2.0和2.2預設為prefork模式,使用子進程(worker ;2.4預設為event模式) 

  • 更改模式:

  cd /usr/local/src/httpd-2.2.16

  [[email protected] httpd-2.2.16]# ./configure --help |grep mpm
  --with-mpm=MPM          Choose the process model for Apache to use.
                          MPM={beos|event|worker|prefork|mpmt_os2}

  在編譯時間指明模式即可

  ◆/usr/local/apache2/bin/apachectl -M  可以列出shared類型的模組

  ◆/usr/local/apache2/bin/apachectl -t  可以查看文法有沒有錯誤

    有錯改錯,沒有錯誤再重啟

  ◆/usr/local/apache2/bin/apachectl -graceful 可以重新載入設定檔

  ◆cat /usr/local/apache2/build/config.nice   可以查看編譯apache時候的選項

★結合php配置apache

  vim /usr/local/apache2/conf/httpd.conf

  ◆找到:AddType application/x-gzip .gz .tgz
    在該行下面添加:AddType application/x-httpd-php .php

  ◆找到:<IfModule dir_module>
         DirectoryIndex index.html
         </IfModule>
  修改為:<IfModule dir_module>
         DirectoryIndex index.html index.htm index.php
         </IfModule>

  ◆找到:#ServerName www.example.com:80 
   修改為:ServerName localhost:80

★測試解析php

  ◆編寫一個php指令碼,命名為1.php

[[email protected] httpd-2.2.16]# vim /usr/local/apache2/htdocs/1.php

[[email protected] httpd-2.2.16]# cat /usr/local/apache2/htdocs/1.php
<?php
echo baidu.com;
?>

在本地瀏覽器輸入ip地址/1.php

發現雖然php正常解析,但是顯示內容為baiducom,指令碼中寫的.並沒有顯示。這是因為.在php指令碼中是一個串連符,如果想讓其真正顯示成.需要加上單引號(echo ‘baidu.com‘)

  ◆phpinfo()可以顯示php相關的配置

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/59/4A/wKioL1TPI3WxCS_NAAJUymOJ_Sk125.jpg" title="73Z_$)IIV{B1UNN%Y$)N(}M.png" alt="wKioL1TPI3WxCS_NAAJUymOJ_Sk125.jpg" />

我們可以看到Loaded Configuration File 顯示為(none),這是因為在/usr/local/php/etc下並沒有相關設定檔

[[email protected] httpd-2.2.16]# ls /usr/local/php/etc
pear.conf

我們可以複製一個,在源碼包檔案下我們可以過濾一下

[[email protected] php-5.3.28]# ls |grep php.ini
php.ini-development  <== 測試環境的
php.ini-production   <== 生產環境的

[[email protected] php-5.3.28]# cp php.ini-production /usr/local/php/etc/php.ini

我們需要重啟一下apache,[[email protected] php-5.3.28]# /etc/init.d/apachectl restart

重新整理網頁我們發現已經改變了

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/59/4D/wKiom1TPJGvwwxjWAAB3NrALcXM270.jpg" title="CDVL$G$I6NWTTLVHAXWB%QB.png" alt="wKiom1TPJGvwwxjWAAB3NrALcXM270.jpg" />

  ◆在命令列下進行測試

  • [[email protected] php-5.3.28]# cd /usr/local/php        <== 進入到此目錄下

  • [[email protected] php]# /usr/local/php/bin/php -m  可以列出所有載入的模組,都是靜態編譯進來的

  • [[email protected] php]# /usr/local/php/bin/php -i  可以查看到phpinfo

要想查看設定檔,可以 /usr/local/php/bin/php -i |grep -i ‘Configuration File‘

  • [[email protected] php]# /usr/local/php/bin/php -i |grep -i ‘Configuration File‘
    Configuration File (php.ini) Path => /usr/local/php/etc
    Loaded Configuration File => /usr/local/php/etc/php.ini

  • [[email protected] php]# /usr/local/php/bin/php -v  可以查看版本

  • [[email protected] php]# /usr/local/php/bin/php -i |head   可以查看到php的編譯選項

  • [email protected] php]# curl -x192.168.16.100:80 yueyue.com/index.html
    <html><body><h1>It works!</h1></body></html>

    如果現實php源碼,說明php沒有正常解析,需要再去檢查設定檔

 ◆無法正常解析時排錯方法

  • /usr/local/php/bin/php -m
    查看有沒有php5_module模組,如果沒有進行第二步

  • 查看ls /usr/local/apache2/modules/libphp5.so 此目錄下有沒有此檔案

    如果有此檔案但沒有第一步中的模組,ldd /usr/local/apache2/modules/libphp5.so

    查看是否有問題(是否出現****==> not found),此命令用來查詢依賴哪些庫檔案


結合php配置apache

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.