溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

結(jié)合php配置apache

發(fā)布時(shí)間:2020-04-04 14:11:05 來源:網(wǎng)絡(luò) 閱讀:413 作者:CCCY61 欄目:web開發(fā)

★apache的配置文件

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

 ◆/usr/local/apache2/bin/apachectl -l  可以列出所有的static模塊,即httpd的內(nèi)核模塊

[root@yue ~]# /usr/local/apache2/bin/apachectl -l
Compiled in modules:
  core.c
  mod_so.c
  http_core.c
  event.c         2.0和2.2默認(rèn)為prefork模式,使用子進(jìn)程(worker ;2.4默認(rèn)為event模式) 

  • 更改模式:

  cd /usr/local/src/httpd-2.2.16

  [root@yue 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}

  在編譯時(shí)指明模式即可

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

  ◆/usr/local/apache2/bin/apachectl -t  可以查看語法有沒有錯(cuò)誤

    有錯(cuò)改錯(cuò),沒有錯(cuò)誤再重啟

  ◆/usr/local/apache2/bin/apachectl -graceful 可以重新加載配置文件

  ◆cat /usr/local/apache2/build/config.nice   可以查看編譯apache時(shí)候的選項(xiàng)

★結(jié)合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

★測(cè)試解析php

  ◆編寫一個(gè)php腳本,命名為1.php

[root@yue httpd-2.2.16]# vim /usr/local/apache2/htdocs/1.php

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

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

發(fā)現(xiàn)雖然php正常解析,但是顯示內(nèi)容為baiducom,腳本中寫的.并沒有顯示。這是因?yàn)?在php腳本中是一個(gè)連接符,如果想讓其真正顯示成.需要加上單引號(hào)(echo 'baidu.com')

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

結(jié)合php配置apache

我們可以看到Loaded Configuration File 顯示為(none),這是因?yàn)樵?usr/local/php/etc下并沒有相關(guān)配置文件

[root@yue httpd-2.2.16]# ls /usr/local/php/etc
pear.conf

我們可以復(fù)制一個(gè),在源碼包文件下我們可以過濾一下

[root@yue php-5.3.28]# ls |grep php.ini
php.ini-development  <== 測(cè)試環(huán)境的
php.ini-production   <== 生產(chǎn)環(huán)境的

[root@yue php-5.3.28]# cp php.ini-production /usr/local/php/etc/php.ini

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

刷新網(wǎng)頁我們發(fā)現(xiàn)已經(jīng)改變了

結(jié)合php配置apache

  ◆在命令行下進(jìn)行測(cè)試

  • [root@yue php-5.3.28]# cd /usr/local/php        <== 進(jìn)入到此目錄下

  • [root@yue php]# /usr/local/php/bin/php -m  可以列出所有加載的模塊,都是靜態(tài)編譯進(jìn)來的

  • [root@yue php]# /usr/local/php/bin/php -i  可以查看到phpinfo

要想查看配置文件,可以 /usr/local/php/bin/php -i |grep -i 'Configuration File'

  • [root@yue 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

  • [root@yue php]# /usr/local/php/bin/php -v  可以查看版本

  • [root@yue php]# /usr/local/php/bin/php -i |head   可以查看到php的編譯選項(xiàng)

  • root@yue php]# curl -x192.168.16.100:80 yueyue.com/index.html
    <html><body><h2>It works!</h2></body></html>

    如果現(xiàn)實(shí)php源碼,說明php沒有正常解析,需要再去檢查配置文件

 ◆無法正常解析時(shí)排錯(cuò)方法

  • /usr/local/php/bin/php -m
    查看有沒有php5_module模塊,如果沒有進(jìn)行第二步

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

    如果有此文件但沒有第一步中的模塊,ldd /usr/local/apache2/modules/libphp5.so

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


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI