PHP 版本問題 (已解決)

本帖最後由 bluesheet 於 2010-5-4 14:19 編輯

各位好,
近日有關php的事令到我較煩悶. 由於我並唔是php高手,到而家仲未解決到,想請各位一齊研究一下.
我有一個php的小程序需要做porting. 原本在debian lenny 上開發, php版本是5.2.12, php跟mysql 都是source built 的. 而家需要porting 去 rhel5 身上, php (5.2.13) 同 mysql 都是預設的package, 但問題就出現左,版面會是空白,php程序加入簡單 debug, 並沒有任何error/warning 出現.我再用另一部機, 亦都是手裝php 5.2.13, 同一個php程序,一加入就即刻run到, 有顯示. 再手build 5.2.12, 亦都ok, 再放回預設的php 5.2.13身上就死左, 空白頁... 乜野都無反應,又無error/warning.mysql 試了, 4跟5都無問題,apache任何版本都ok,無事, 排除了是mysql同apache出事, 所以只有php問題了.
我睇過rpm版本跟我手build的 phpinfo, 大家的configure 基本上需要果幾項都有... 好煩悶
唔知rpm版本跟source build仲有d 咩細微的分別呢??
心想會唔會是php syntax的問題..

語法是這個
語法http://192.168.0.1/show/?mode=view&pageno=3&limit=3

顯示第三頁,每頁顯示3行.rpm版本是空白頁.無反應.
會唔會是?後pass value 入去syntax 有唔同呢??
請指教. 謝謝.

無error ... 係唔係你未開...

有冇開magic_quote ?

TOP

無error ... 係唔係你未開...

有冇開magic_quote ?
good16 發表於 2010-5-3 17:00


error 跟 magic quota 都開左的啦. 每個step再加入echo來作簡單debug, 但都找唔到是咩問題. 一load 入去, 如羅第幾頁, 限羅幾多個, 就空白頁. 乜都無... 好似呢句野是無效咁...
寫呢個的programmer已經走左n年, 再無法子問佢點解lu.. 激死人..
由於porting的事,暫時唔容許手build, 去到呢度就卡住左了...
thx  good16.

TOP


192.168.0.1...

TOP

192.168.0.1...
sunmoly 發表於 2010-5-3 17:17


呢個當然是求其寫出來啦.. 真的....... "你估下. 唔話你知"...hoho
thx

TOP

咁唯有將D php code 慢慢拆.
整個空網頁, 慢慢跟番原本個檔加 d php code. 無理由搵唔到原因.
如果連 <?php echo "hello world"; ?> 都無野出. 咁個php engine 或者D config 有問題

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

咁唯有將D php code 慢慢拆.
整個空網頁, 慢慢跟番原本個檔加 d php code. 無理由搵唔到原因.
如果連  都無 ...
laputafish 發表於 2010-5-3 19:18


咁又有野出. 簡單的echo都出到, 無問題...
呢個問題要再攪攪先... 要一步一步 trace 了.. thx

TOP

不如比少少錢我幫你搞掂佢..
十三 發表於 2010-5-4 09:30


haha.. 多謝你先...
但只好再慢慢trace, 再慢慢找出原因. 問題已經知道是咩方向, 只差時間找佢出來..
我覺得是URL pass  variable 時的問題.
thx

TOP

多謝各位關心.問題已經解決了.同大家分享一下.
睇返d code, 大部份php習慣使用 $_GET['var']='xxxx' 這個方式(基於 php4), 而在php5上已經唔再support 呢個方式, 而在 register_global=off 的情況下, 就未能在url直接pass variable 入去. get 出來的是null, 所以出現空白頁.

而在php5下 php.ini default 是把 register_global 定為off.所以在雙重情況下,就未能實現了. 解決方法有2個, 最簡單當然是把register_global打開. 但$_GET, $_POST等syntax 在php5唔再support, 所以我做左一個簡單的修改, 就ok了. 我在我程序的 config.inc.php 內, 直接加入
  1. $HTTP_GET_VARS = $_GET;
  2. $HTTP_POST_VARS = $_POST;
複製代碼
問題就解決了, variable 唔再null, 有顯示了.

多謝各位的關注. thx

TOP