Apache-2.2

如何在我的 Linux Fedora 19 伺服器中正確設置 PHP?

  • January 15, 2014

問題:

這種情況已經持續了一段時間。我只安裝了一次,之後,它要麼:

  • 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 配置不正確。

引用自:https://serverfault.com/questions/567098