懷疑PHP沒有被正常起動,那要如何debug?

Mac OS X 平台上程式設計的相關問題討論

版主: bryanchangdigdog謝孟叡

回覆文章
內容
發表人
Arthur
常吃冰
文章: 379
註冊時間: 05/01/2001 1:01 am
來自: .tw

懷疑PHP沒有被正常起動,那要如何debug?

#1 文章 Arthur »

我依著聊天會的手稿在我的10.2.4上想把fdcode給裝上,但是很不幸的是才啟動apache就發現php沒有如期的被啟動,請問要如何來debug?

問題問題很粗略,不過我也不知如何再細分了,所以如果有不清楚的地方也請發問,謝謝。


下面的就是我打完web address後出現的東西

<?
phpinfo();
?>
頭像
bryanchang
討論區管理員
文章: 7057
註冊時間: 04/19/2001 1:01 am
來自: The '60s
聯繫:

#2 文章 bryanchang »

就像我們在聊天會上說的:如果利用圖形界面啟動 Apache,你看不到錯誤的訊息。

建議您啟動終端機,然後輸入下面的指令:


sudo apachectl restart

接著輸入系統管理員的密碼,看看 Apache 會傳回怎樣的錯誤訊息。

這裡最可能發生的問題,就是您 httpd.conf 檔案的編輯有錯誤。
圖檔
Arthur
常吃冰
文章: 379
註冊時間: 05/01/2001 1:01 am
來自: .tw

#3 文章 Arthur »

[quote="bryanchang"]就像我們在聊天會上說的:如果利用圖形界面啟動 Apache,你看不到錯誤的訊息。

建議您啟動終端機,然後輸入下面的指令:


sudo apachectl restart

接著輸入系統管理員的密碼,看看 Apache 會傳回怎樣的錯誤訊息。

這裡最可能發生的問題,就是您 httpd.conf 檔案的編輯有錯誤。[/quote]

感謝白老闆的回答

我是有試過這個指令
第一次執行並不成功,以為是權限不足,所以又進入ROOT帳號內去開啟過一次,在ROOT下是沒有問題的,之後再以平常使用的帳號再執行這個指令就沒有錯誤了。不過問題還是在所以我想我是沒有作對。

今天我又試了一次訊息出來了,要請大家指點一下

[Mac9500:~] admin% apachectl start
Processing config directory: /private/etc/httpd/users
Processing config file: /private/etc/httpd/users/admin.conf
fopen: Permission denied
httpd: could not open error log file /private/var/log/httpd/error_log.
/usr/sbin/apachectl start: httpd could not be started
頭像
bryanchang
討論區管理員
文章: 7057
註冊時間: 04/19/2001 1:01 am
來自: The '60s
聯繫:

#4 文章 bryanchang »

我想重點是您必須加上 sudo 這個指令,而不是只用 apachectl 而已。就像我原先說的:

sudo apachectl restart

就可以讓你在既有帳號下以 root 的權限去啟動 Apache。
圖檔
Arthur
常吃冰
文章: 379
註冊時間: 05/01/2001 1:01 am
來自: .tw

#5 文章 Arthur »

[quote="bryanchang"]我想重點是您必須加上 sudo 這個指令,而不是只用 apachectl 而已。就像我原先說的:

sudo apachectl restart

就可以讓你在既有帳號下以 root 的權限去啟動 Apache。[/quote]
我再作一次之後的結果現在變成了下面這樣,而在browser內還是只有看到我打的那幾行字而巳,是那裡不對了呢請指點

[Mac9500:~] admin% sudo apachectl start
Password:
/usr/sbin/apachectl start: httpd (pid 428) already running
頭像
bryanchang
討論區管理員
文章: 7057
註冊時間: 04/19/2001 1:01 am
來自: The '60s
聯繫:

#6 文章 bryanchang »

Arthur 寫:
bryanchang 寫:我想重點是您必須加上 sudo 這個指令,而不是只用 apachectl 而已。就像我原先說的:

sudo apachectl restart

就可以讓你在既有帳號下以 root 的權限去啟動 Apache。
我再作一次之後的結果現在變成了下面這樣,而在browser內還是只有看到我打的那幾行字而巳,是那裡不對了呢請指點

[Mac9500:~] admin% sudo apachectl start
Password:
/usr/sbin/apachectl start: httpd (pid 428) already running
我在上面寫的是 restart 而不是像您寫的 start,這就是問題所在。 :wink:
圖檔
Arthur
常吃冰
文章: 379
註冊時間: 05/01/2001 1:01 am
來自: .tw

#7 文章 Arthur »

感謝白老闆熱心的指點,Apache被起動了,如下。

[Mac9500:~] admin% sudo apachectl restart
Password:
/usr/sbin/apachectl restart: httpd restarted
[Mac9500:~] admin%

我在admin內的Sites內放了info.php
然後在Safari的Address內打入http://localhost/~admin/info.php
不過PHP卻還是老樣子,如下,那我該怎麼辦呢?

<?
phpinfo();
?>
頭像
bryanchang
討論區管理員
文章: 7057
註冊時間: 04/19/2001 1:01 am
來自: The '60s
聯繫:

#8 文章 bryanchang »

這表示你的 /etc/httpd.conf 檔案並沒有被(正確的)修改,請找個文字編輯器 (如 BBEdit Lite)打開那個檔案,然後去找找裡面所有跟 "php" 這個字有關的地方,看看這些行中第一個井號是不是被刪除了。(該刪除的地方請參閱講義。)
圖檔
chester
巨砲!冰果室 No. 1
文章: 2276
註冊時間: 04/19/2001 1:01 am
來自: /doc/elsewhere
聯繫:

#9 文章 chester »

Arthur 寫:ress內打入http://localhost/~admin/info.php
不過PHP卻還是老樣子,如下,那我該怎麼辦呢?
<?
phpinfo();
?>
小弟最近幾天在 Solaris 9 上面測試,也發現同樣的問題。

Apache 2.0.49 已經啟動,但是 httpd.conf 檔案裡面,沒有
設定 php module 的相關設定。可能是這個原因?

Chester
:?:
chester
巨砲!冰果室 No. 1
文章: 2276
註冊時間: 04/19/2001 1:01 am
來自: /doc/elsewhere
聯繫:

#10 文章 chester »

chester 寫:Apache 2.0.49 已經啟動,但是 httpd.conf 檔案裡面,沒有
設定 php module 的相關設定。可能是這個原因?
自我回答一下,可能是這篇文章所講的原因:

http://simon.incutio.com/archive/2004/0 ... AndApache2

Chester
回覆文章