2012-01-13 78 views
0

我繼承了一些html/php代碼。我怎樣才能讓Apache解釋<?線的PHP線?

我已經安裝了Apache和PHP在我的窗口框。起初,事情有點奏效,直到我意識到php.ini沒有被發現。當我將ini文件的路徑更改爲「Program Files(x86)」dir以外的某個位置時,該文件就會被找到,但是我正在運行的代碼停止工作。代碼有一堆地方說<? foob​​ar?>而不是<?php foobar?>

我試過Google搜索'<?' vs'<?php',但它忽略了<?部分。

我需要告訴apache該怎樣的配置<?意味着PHP?

+0

你需要確保你已經在你的apache配置中添加了模塊文件。另外,確保你有適當的設置你的MIME類型。 – RageD 2012-01-13 22:42:02

+0

嗨,看看這裏[http://www.php.net/manual/en/ini.core.php#ini.short-open-tag](http://www.php.net/manual/en /ini.core.php#ini.short-open-tag) – 2012-01-13 22:42:52

+0

@RageD - 這是在php.ini中的設置。看到我的答案。 – Cfreak 2012-01-13 22:43:56

回答

4

你必須在php.ini中設置short_open_tag = On。然而,由於與XML的衝突,這通常被認爲是一個糟糕的主意。

+1

確切地說,並且@CFreak說最好不要改變<?對於代碼 – H27studio 2012-01-13 22:44:33

2

它看起來不是最好的主意。如何創建一個腳本來處理文件搜索包含"<?"沒有「php」的字符串以糾正它們?使用正則表達式不應該很難。

+0

上的<?php,的確如此,你是對的。不要懶惰。使用perl:$ line =〜s/\ <\?(?! php)/ \ <\?php/g; – mmccoo 2012-01-13 23:01:29