如何在我的 Linux Fedora 19 伺服器中正確設置 PHP?
問題:
這種情況已經持續了一段時間。我只安裝了一次,之後,它要麼:
- PHP 頁面顯示 PHP 程式碼(不是目前錯誤,但我經歷過)
- PHP 頁面返回“伺服器內部錯誤”
我真正想要的只是讓 PHP 通過 oci8 連接到 Oracle 11g XE。我沒想到會這麼難。
此外,查看位於 中的錯誤日誌(我假設這是 PHP 的錯誤日誌)
/var/log/httpd/error_log
,會發現以下錯誤:PHP致命錯誤:未知:打開失敗需要’/var/www/html/info.php’(包括路徑=’.:/usr/share/pear:/usr/share/php’)。
我以前從未遇到過這種情況。
系統:
- Fedora 19 x86_64
- 甲骨文 11g XE
- 阿帕奇 2.4.6
- PHP 5.5.4
附加資訊:
info.php 僅包含以下內容:
<?php phpinfo(); ?>
php -i
工作,雖然我不知道在那裡尋找什麼。我嘗試了什麼:
很多。但是由於我已經重新格式化了 PC,並重新開始,所以這裡是我所做的分解:
- 安裝 Oracle 11g XE
- 將我的數據庫正確備份到上述 Oracle
- 通過添加以下內容修改 .bashrc
TMP=/tmp; 導出 TMP
TMPDIR=$TMP; 導出 TMPDIR
ORACLE_HOSTNAME=localhost.localdomain; export ORACLE_HOSTNAME ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOME ORACLE_SID=XE; export ORACLE_SID NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`; export NLS_LANG ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
導出類路徑
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
- yum groupinstall “開發庫”
- 百勝安裝httpd
- 百勝安裝php
我啟動了 apache,將其配置為在啟動時啟動,能夠進入 Fedora 測試頁面,並將測試 PHP 頁面放在
/var/www/html/
目錄中。本地主機工作正常。
localhost/info.php 返回“伺服器內部錯誤”。
我不知道我做錯了什麼。我什至還沒有啟動並執行 PHP,所以我很擔心我能否讓它連接到 Oracle。有什麼想法/建議嗎?謝謝。
檢查以下權限:
/var/www/html/info.php
我記得當執行 apache 程序的使用者沒有該文件的正確權限時,也出現過類似的錯誤。
這不是一件好事,但您可以記下 info.php 的目前權限,chmod 777 /var/www/html/info.php 並查看它是否有效。如果是這樣,那就是問題所在,並嘗試解決問題。
還要按照@GeoSword 的說明檢查您是否正在顯示 php 程式碼而不是 html,因為這意味著 apache 中的 php 配置不正確。