2010-05-26 113 views
-2

我有一個PHP的Web應用程序。此應用程序在Windows服務器上運行,但在Linux服務器上無法運行。我認爲這是關於php.ini或文件權限。這種情況有什麼其他原因?對於這種情況,基本的php.ini配置必須是什麼?PHP應用程序適用於Windows服務器,但它不適用於Linux服務器,爲什麼?

+3

你是什麼意思的「不工作」?文件權限通常是一個問題,目錄/文件在Linux上也是區分大小寫的,確保php.ini中的任何引用都是正確的 – Paolo 2010-05-26 09:49:54

+0

不起作用意味着例如,我有一個來自php文件的ajax請求,但是這個文件沒有響應任何東西。這意味着服務器不會編譯或執行此php文件。我檢查了php文件的字符編碼類型,它們都是UTF-8。有時當php文件是ANSI字符編碼類型時可能會出現問題。但是這個文件UTF-8 – 2010-05-26 09:54:38

+0

那麼,這告訴我們什麼沒有發生。它有什麼作用?日誌說什麼?正確的URI被擊中了嗎?它回來了200響應代碼?這聽起來像PHP只是沒有安裝或啓用。 – Quentin 2010-05-26 09:57:18

回答

7

永遠不要問「什麼可以是其他原因」。我們這裏不是天氣預報員。我們是程序員。我們的工具是某些,現在我們遇到了什麼特別的問題。

你需要的唯一的東西就是讓PHP告訴你什麼是問題。

最簡單的方法就是把這些行加入到您的配置文件,

ini_set('display_errors',1); 
error_reporting(E_ALL); 

,看看你的應用程序會說什麼。它可以是權限或php.ini。所有人都會被告知。
很簡單,呃? ;)

如果這些魔紋不會幫助,還有其他幾種方式,手動中有一個很好的手冊:http://php.net/manual/en/configuration.changes.php

當你的服務器上市後,不要忘記改變這些行

ini_set('display_errors',0); 
ini_set('log_errors',1); 
error_reporting(E_ALL); 

並查看錯誤日誌中的錯誤消息,但不會向可能的黑客和無辜用戶泄露它。

+0

我想問我的問題更多spesifically.My的PHP頁面已不知何故轉換爲ANSI字符編碼類型,同時上傳到服務器。是否有任何方法使頁面工作,即使他們有ANSI字符編碼類型?以其他方式,我打開所有頁面並將它們保存爲UTF -8一個接一個 – 2010-05-26 13:30:40

+0

@cubuzoa文件編碼不會影響腳本執行ANSI或UTF甚至1256也可以工作你怎麼知道它已經被轉換了?對於ansi符號utf-8具有相同的代碼 - 他們之間沒有任何區別 – 2010-05-26 14:02:43

+0

當我保存爲帶記事本的頁面時,當前編碼類型爲ANSI – 2010-05-26 14:29:56

相關問題