與short open tags一個PHP文件啓用,PHP解釋器將看到<?js
標籤的<?
一部分,並會嘗試解析它作爲PHP,導致此錯誤:
Parse error: syntax error, unexpected T_STRING in ... on line ...
要解決該問題,請禁用PHP的開放標記的簡寫(<? ?>
)。
現在將禁用在您的PHP腳本中使用<?
和<?=
。如果您的網站只使用<?php
標籤,那麼這是安全的;如果它使用<?
以及那麼它不是安全的,因爲你的腳本將不再按預期運行。
有兩種方式您的虛擬主機或系統管理將有configured Apache to use PHP:
- 阿帕奇加載PHP解釋器作爲Apache模塊
- Apache運行PHP解釋器以二進制CGI
您將在下面使用哪種解決方案取決於Apache在您的環境中如何運行PHP *。
在Apache的.htaccess
文件,將以下內容:
# PHP as an Apache Module
php_value short_open_tag 0
在全球或本地php.ini
文件,將以下內容:
# PHP as a CGI Wrapper
short_open_tag = Off
在這兩種情況下,你要重新啓動Apache進行任何配置更改後,以確保您的新設置得到提取。
注:如果您的服務器被配置爲運行PHP作爲Apache模塊,那麼你可以選擇是使用一個php.ini
或Apache .htaccess
文件的選擇。但是,如果您的服務器將PHP作爲CGI包裝器運行,那麼您將只能在本地使用php.ini
文件來更改設置,因爲Apache不再完全控制PHP。
當PHP作爲CGI包裝運行時,將PHP設置放入.htaccess
文件將導致服務器發生錯誤。
來源
2011-09-22 14:52:43
rjb
什麼CMS軟件決定'<?js = firstName?>'是個好主意? –