apache運行php
A. 急啊,怎樣讓apache支持php
AddType application/x-httpd-php.php 這個地方你寫錯了,「.php」 前面要有空格
B. 怎麼在apache中運行php文件
安裝php,從php官網下載php安裝包。配置好php環境。(或者使用ampz,phpstudy這些軟體便捷安裝php以及Apache伺服器環境)
將php文件放在網站根目錄下。
打開瀏覽器在地址欄中鍵入Localhost或者127.0.0.1,即可運行瀏覽你的php程序這樣試試吧😊你看過後很簡單吧以後不會可以向我一樣經常到後盾人平台找找相關教材看看就會了,希望能幫到你,給個採納吧謝謝∧_∧
(・∀・)
(∪っ
)))
(_(_)
C. apache怎麼運行多版本php
PHPWAMP8.8.8.8IN支持無限個數的PHP版本同時運行,支持php和mysql不限個數的自定義
PHPWAMP在電腦系統缺失必備組件或DLL受損的情況下依然能正常運行,不用安裝vc,不用在乎系統dll是否完整
「強制清除環境阻礙」功能可以一鍵轟掉系統佔用80埠以及系統引起的各種異常
三大主流Web伺服器分別帶有功能強大的站點管理
iis站點一鍵配置,支持無限個PHP版本同時運行,無限自定義mysqlphp版本,無視VC等系統Dll依賴。
Nginx站點一鍵配置,支持無限個PHP版本同時運行,無限自定義mysqlphp版本,無視VC等系統Dll依賴。
Apache站點一鍵配置,支持無限個PHP版本同時運行,無限自定義mysqlphp版本,無視VC等系統Dll依賴。
D. Apache需要將php文件交給PHP解釋器處理後再 返回給瀏覽器,那PHP如何運行的呢
1.我們從未手動開啟過PHP的相關進程,它是隨著Apache的啟動而運行的;
2.PHP通過mod_php5.so模塊和Apache相連(具體說來是SAPI,即伺服器應用程序編程介面);
3.PHP總共有三個模塊:內核、Zend引擎、以及擴展層;
4.PHP內核用來處理請求、文件流、錯誤處理等相關操作;
5.Zend引擎(ZE)用以將源文件轉換成機器語言,然後在虛擬機上運行它;
6.擴展層是一組函數、類庫和流,PHP使用它們來執行一些特定的操作。比如,我們需要mysql擴展來連接MySQL資料庫;
7.當ZE執行程序時可能會需要連接若干擴展,這時ZE將控制權交給擴展,等處理完特定任務後再返還;
8.最後,ZE將程序運行結果返回給PHP內核,它再將結果傳送給SAPI層,最終輸出到瀏覽器上。
E. mac apache環境 運行php
mac 自帶環境 打開終端 輸入 sudo apache -v 和php -v 即可查看版本
啟動apache
sudo apachectl start Mac自帶的Apache啟動了 在瀏覽器輸入「http://localhost」,會顯示「It works!」,說明伺服器已經啟動成功了。Apache默認根目錄在「/Library/WebServer/Documents/」下。
配置文件(httpd.config)保存在/etc/apache2
修改配置文件 sudo vi /etc/apache2/httpd.conf
將默認目錄/Library/WebServer/Documents 替換成自己需要的目錄
LoadMole php7_mole libexec/apache2/libphp7.so 將前面的# 去掉
運行localhost 會報錯:You don't have permission to access / on this server.
這時修改下apache的配置文件httpd.conf:
AllowOverride None
Require all granted
Order deny,allow
Allow from all
然後 sudo apachectl configtest 查看是否修改成功
配置虛擬機
在配置文件httpd.conf的最後一行 並cd 進去 再 vi 進vhosts.conf文件
接著來到下圖 我們可以設置我們拉下來的項目的serverName
修改host文件 sudo vi /etc/hosts
接著在瀏覽器地址 輸入我們項目的servername 即可訪問
如果沒有成功 一般是緩存原因 換個瀏覽器 或者清除緩存 關閉瀏覽器程序 並重啟
(以後增加項目 改servername 谷歌有緩存 記得關閉再重啟)
一般命令
sudo apachectl start #啟動伺服器
sudo apachectl restart 重啟
sudo apachectl -v 查看伺服器版本
sudo apachectl stop #關閉伺服器
sudo vi /etc/apache2/httpd.conf 輸入密碼 進行配置文件修改
sudo apachectl configtest 查看更改是否成功
默認命令行 i 插入模式 esc退出模式
:wq! 保存和退出 (!表示強制修改) 要在英文模式下輸入
:w 保存
:q退出
:q! 強制退出 (誤改了東西 強制退出 就不會保存)
命令模式下 /content 查找(n查找下一個)
第一步 配置虛擬機
cd /private/etc/apache2/other
vi vhosts.conf
第二步 更改指向
sudo vi /etc/hosts
報錯:
E325: ATTENTION
Found a swap file by the name "/var/tmp/vhosts.conf.swp"
原因:
其一,是當前有其他的進程正在對相同的文檔進行編輯;
其二,之前的編輯會話被銷毀了(crashed)(也就是說,你上次編輯的時候,沒有保存就強制離開了。)
原理:
我們在編輯文件的時候,並不是對原有文件進行修改和覆蓋的,而是新建一個副本,名字叫xx.swp,我們對文件的編輯都放在了這個副本裡面,這也是為什麼我們能進行撤銷的原因,我們並沒有對原有的文件進行修改。當我們正常退出時,這個文件就正常消失,而當我們異常退出時,這個文件就會作為隱藏文件,當我們下次啟動vim時,它就會提示我們上次編輯時,有一個文件異常退出了,是否要進行恢復。也就是彈出E325錯誤。當我們異常退出時,這個隱藏文件會幫助我們還原到上次編輯的狀態。也就相當於是一個自動保存的功能。
解決辦法:
進入/var/tmp/vhosts.conf.swp 並將這個文件刪除
F. apache 怎麼開啟php服務
apache是利用apxs載入的模塊,apxs 是一個為Apache HTTP伺服器編譯和安裝擴展模塊的工具,用於編譯一個或多個源程序或目標代碼文件為動態共享對象,使之可以用由mod_so 提供的LoadMole 指令在運行時載入到Apache伺服器中。
具體apache里的配置你可以再搜下,windows類似wamp的環境或者linux yum安裝的環境只要正確,啟用服務一般都可用,linux 源碼編譯安裝的環境需要自己配置下。
所以你提的問題只要是更改php.ini配置後,重啟apache服務就可以了,安裝後的驗證就是最好在主目錄底下創建一php文件,利用phpinfo()看下信息,就證明php解釋器可以用了,並且可以看到php相關一些模塊的安裝信息。
G. 為什麼本地apache伺服器運行PHP程序非常卡
你運行PHP程序的時候看一下任務管理器
看一下CPU,內存以及帶寬這三樣東西哪一樣到達了峰值導致變卡
如果是內存導致的變卡,證明你的PHP程序代碼上有缺陷,或者你的電腦硬體不足以支持你PHP程序的運行
如果是CPU過高,證明你PHP程序代碼可能有較多的循環性的代碼,需要消耗大量的CPU性能去處理數據,或者你的電腦硬體不足以支持你PHP程序的運行
帶寬的話就沒什麼好說的了
總的來說現在的一般家用電腦運行中小型網站基本是沒什麼太大問題的,主要問題應該還是你的PHP程序有什麼比較致命的bug吧
H. apache的伺服器運行不了php程序怎麼辦
解決方案:
第一:檢測本機是否安裝了php
第二:要先安裝apache,然後安裝php
第三:在安裝php的時候,會讓你選擇apache的版本的
第四:檢查apache的httpd.conf文件中是否引入了php,例如LoadMole php5_mole "F:/wamp/bin/php/php5.3.13/php5apache2_2.dll"
java"><IfMoledir_mole>
DirectoryIndexindex.phpindex.php3index.htmlindex.htm
</IfMole>
I. 為什麼我本地在apache下運行php文件總是出現下載呢
apache是一個web伺服器,它只負責進行html
request的請求和返回php腳本的response,但是並不能解析php,所以你運行Php
就會顯示下載。
之需要安裝一個tomcat就可以解析php
了。tomcat是應用伺服器能進行功能解析
J. 如何配置apache以fastcgi模式運行php
第一步:下載安裝的文件
1. Apache 版本 httpd-2.2.21-win32-x86-no_ssl.msi
2. mod_fcgid 版本 mod_fcgid-2.3.6-win32-x86.zip
3. MySQL 版本 mysql-5.5.19-win32.msi
4. PHP 版本 php-5.3.5-nts-Win32-VC6-x86.zip
提示:
1. 建議選擇無SSL功能的Apache版本來完成開發,我們這里使用了httpd-2.2.21-win32-x86-no_ssl.msi。
2. 建議選擇由Apache官方所提供的mod_fcgid 作為FastCGI模塊。我們這里使用目前最新版本2.3.6。 mod_fcgid官方地址
3. Windows下安裝MySQL就選擇.msi安裝包格式,我們選擇了mysql-5.5.19-win32.msi ,雙擊根據向導安裝即可,簡單方便。
4. PHP我們選擇用php-5.3.5-nts-Win32-VC6-x86.zip 這個版本。這個是nts(非線程安全)版本,是針對PHP的FastCGI安裝方式。
第二步:安裝文件
1. 在要安裝的磁碟建一個文件夾。為了以後管理方便我們在D盤的根目錄下創建一個WAMP文件夾。 D:\WAMP(WAMP是 windows+apache+mysql+php的縮寫)。
2. 在WAMP文件夾下創建一個WWW文件夾,用來存放你的PHP網站程序。D:\WAMP\WWW。
3. 安裝Apache伺服器,把Apache伺服器安裝到 D:\WAMP\Apache 文件夾。具體Apache安裝過程可以參考文檔 Apache安裝圖解。
4. 把下載的php-5.3.5-nts-Win32-VC6-x86 解壓到 D:\WAMP\PHP 文件夾。
5. 安裝MySql資料庫,把MySQL安裝到 D:\WAMP\MySQL文件夾。具體MySQL安裝過程可以參考文檔MySQL安裝圖解。
第三步:配置 Apache
首先使用文本編輯工具(推薦 EditPlus )打開 D:\WAMP\Apache\conf\httpd.conf 文件,這個文件是Apache的配置文件,下面幾步都是在修改這個文件的內容。
要注意的是修改完 httpd.conf 文件需重新啟動Apache服務,新設置才會生效。
1. 設置監聽埠
打開 httpd.conf 文件後,找到 Listen(大概在第46行),將它後面的數字改為8080,如下:
Listen 8080
這個參數用來設置Apache伺服器的監聽埠,一般默認為80。修改為8080 是為了避免和Windows 2003系統的IIS埠號沖突,如果你沒有啟用IIS,也可以使用默認的80埠號。
2. 修改網站存放目錄
我們知道Apache默認的網站存放目錄為Apache安裝目錄下的htdocs文件夾。當你更改網站存放目錄,就必須修改相應的Apache配置。
在配置文件 httpd.conf 中查找 DocumentRoot,將其修改為指向網站目錄的正確文件夾。我們這里改為
DocumentRoot "D:/WAMP/www"
同時,查找 This should be changed to whatever you set DocumentRoot to,在它下面有行 <Directoy 默認的DocumentRoot >,將其修改為你自己配置的DocumentRoot 路徑。我們這里修改為:
<Directory "D:/WAMP/www">
3. mod_fcgid 配置
我們將下載的 mod_fcgid-2.3.6-win32-x86.zip 壓縮包中的「mod_fcgid.so」文件復制到apache的「moles」目錄。
打開 httpd.conf 文件,在最後加入如下配置:
LoadMole fcgid_mole moles/mod_fcgid.so
<IfMole mod_fcgid.c>
AddHandler fcgid-script .fcgi .php
#php.ini的存放目錄
FcgidInitialEnv PHPRC "D:/WAMP/PHP"
# 設置PHP_FCGI_MAX_REQUESTS大於或等於FcgidMaxRequestsPerProcess,防止php-cgi進程在處理完所有請求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每個進程的最大請求數
FcgidMaxRequestsPerProcess 1000
#php-cgi最大的進程數
FcgidMaxProcesses 5
#最大執行時間
FcgidIOTimeout 120
FcgidIdleTimeout 120
#php-cgi的路徑
FcgidWrapper "D:/WAMP/PHP/php-cgi.exe" .php
AddType application/x-httpd-php .php
</IfMole>
修改DocumentRoot 路徑的配置為:
<Directory "D:/WAMP/WWW">
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
AllowOverride All
</Directory>
注意:上面紅色文字部分。在option中添加一個屬性ExecCGI
4. 修改目錄首頁文件
在配置文件 httpd.conf 中查找 DirectoryIndex index.html 將其修改成:
DirectoryIndex index.html index.htm index.php
DirectoryIndex 指的是當客戶瀏覽器訪問的路徑是一個目錄時,Apache默認執行的文件。
以我們所修改的為例:當客戶瀏覽器訪問一個目錄時,Apache會去找該目錄下的index.html,如果沒有再找index.htm,還沒有再找 index.php。都找不到則默認顯示該目錄下的文件列表。參考文檔:如果防止Apache顯示文件列表
第四步:配置PHP
打開PHP安裝目錄,即D:\WAMP\PHP,我們可以看到目錄下有兩個這樣的文件 php.ini-development 和 php.ini-proction,第一個是開發使用的配置文件,第二個是生產環境的配置,因為我們是在本機做開發,所以選擇前者。將php.ini-development復制一份到同目錄下,並改名為 php.ini。這個php.ini 就是當前使用的配置文件,以下幾步都是在修改這個php.ini文件的內容。要注意的是,修改php.ini文件後需重新啟動Apache服務,新設置才會生效。
1. 指定PHP擴展庫的存放目錄
在Windows下PHP的擴展庫通常以 DLL 形式存放在PHP的ext目錄中。
使用文本工具打開php.ini文件,查找extension_dir = "ext",也就是在 On windows 下面那一行。把它前面的分號「;」去除掉,改為如下:
extension_dir = "D:/WAMP/PHP/ext"
extension_dir 表示PHP擴展庫的具體目錄,以便調用相應的DLL文件。
2. 開啟相應的擴展庫
默認情況下許多PHP的擴展庫都是關閉的,比如默認PHP不支持連接Mysql資料庫,需開啟相應的擴展庫。
這里我們開啟一些常用的擴展庫。
查找 ; Windows Extensions(大概在941行),在它的下面是extension列表。
找到如下擴展:
;extension=php_curl.dll
;extension=php_gd2.dll
;extension=php_mbstring.dll
;extension=php_exif.dll
;extension=php_mysql.dll
;extension=php_mysqli.dll
;extension=php_pdo_mysql.dll
;extension=php_pdo_odbc.dll
;extension=php_sockets.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
把以上extension 前面的分號 「;」 去掉。如果你希望載入其它擴展模塊,方法相同,只要去掉前面的分號即可。
提示1:重啟Apache提示 「unable to load dynamic library......php_curl.dll」,載入php_curl.dll錯誤。解決方法是拷貝 PHP 目錄下的 libeay32.dll 和 ssleay32.dll 到 windows 目錄或 windows/system32 目錄下,只要是系統 Path 環境變數里包含的路徑就可以。如果不想拷貝,你也可以直接把 PHP 路徑放到系統 Path 環境變數里。 右擊我的電腦=>屬性=>高級=>環境變數=>系統變數里有個Path,雙擊打開,把你的PHP路徑加個分號「;」再前面( ;D:\WAMP\PHP ),添加進去就OK了。重啟Apache不再提示該錯誤。
提示2:Exif 擴展是用來顯示圖片的 exif 信息的,因為該擴展需要 mbstring.dll 支持,所以必須將 extension=php_exif.dll 這一行寫到extension=php_mbstring.dll 的後面。
提示3:如果PHP自帶的擴展庫不能滿足你的需要,你可以去 pecl.php.net 查找並下載你需要的庫。windows用戶可以去 pecl4win.php.net 或者 http://downloads.php.net/pierre/ 下載已經編譯好的DLL文件,也可以去http://museum.php.net/php5/ 載PECL集合壓縮包。
提示4:很多人在找php_zip.dll,其實從php5.3開始已經集成了zip擴展,你可以用<?php phpinfo() ?> 找到zip擴展的說明。
3. 讓PHP支持短標簽
在 php.ini 配置文件查找 short_open_tag = Off (大概在266行)把它修改成:short_open_tag = On 讓其支持短標簽。
php的代碼一般包含在<?php .... ?>的標簽內,設置 short_open_tag = On 之後,可以寫成更簡潔的形式:<? .... ?>。
4. 配置PHP的Session功能
在使用session功能時,我們必須配置session文件在伺服器上的保存目錄。我們需要為session建立一個可讀寫的目錄,這個目錄最好獨立於網站目錄之外。
這里把目錄上建在了D:\WAMP\sessiontmp,然後在 php.ini 配置文件中找 ;session.save_path = "/tmp" (大概在1467行),去掉前面的分號「;」 ,改為如下:
session.save_path = "D:/WAMP/sessiontmp"