2014-04-20 61 views
-1

我在AWS上爲我的父母運行一個小型PHP站點。將主機從Ubuntu Server 13.04升級到13.10後(爲了修補OpenSSL中的Heartbleed錯誤),該站點停止工作。在Ubuntu升級後PHP站點停止工作 - 不再處理<?指令

我的PHP知識很少。

一個問題似乎是代碼使用<? ... ?>轉義而不是<?php ... ?>。這些標籤之間的PHP代碼現在正在HTML中返回而不是被處理。

升級apparentlyphp5包的版本從5.4.9更改爲5.5.3。

有沒有辦法在兼容模式下運行PHP?這種突變是否有充分的理由?或者是我不知道的其他事情呢?

+1

http://www.php.net/manual/en/ini .core.php#ini.short-open-tag – Wrikken

+0

在php配置文件中有這樣一個選項,afaik – MightyPork

+0

似乎升級取代了你應該永遠不會做的php.ini文件。檢查你是否有舊版本並比較差異。 – arkascha

回答

1

這聽起來像它可能已經做了一些你的php.ini文件。尋找short-open-tag,並確保它變成On。另外,確保它沒有在文件的更下方追加第二個文件(我有時看到配置設置不止一次地添加到配置文件中)。

http://www.php.net/manual/en/language.basic-syntax.phptags.php

+0

非常感謝。這是問題。 –

+0

-1:不,這是不好的建議。我們有一個原因阻止了過去十年左右的開放標籤。就是這個。而是修復代碼。 –

+0

@LightnessRacesinOrbit,謝謝你的關注,但是這個網站現在只需要運行。我更願意花時間處理其他事情,在整個代碼中更改標籤樣式只會滿足我的強迫症。 –

-2

打開php.ini,找到以下部分:

; short_open_tag 
; Default Value: On 
; Development Value: Off 
; Production Value: Off 

將其更改爲

short_open_tag 
    Default Value: On 
    Development Value: On 
    Production Value: On 
+0

不,不要......反而,停止使用短打開的標籤。 –

+0

我認爲你主要是因爲你沒有註釋到人類的線條。只有第一行是一個實際的配置指令。此外,您展示的部分來自介紹性標題,並且(至少在我的文件中)實際配置值設置得更低。所以如果我對你建議的評論沒有註釋,那就沒有任何作用。 –

相關問題