1
我知道這個錯誤是由於一些不匹配的括號,引號或任何其他原因,仍然無法找到解決方案,因爲我的代碼在本地主機上完美工作,但給我我的共享主機服務器上的這個錯誤(同樣的PHP版本:5.3.8)解析錯誤:語法錯誤,第1行出現意外的T_STRING
function call_hook() {
global $url;
$url_array = explode('/', $url);
if (isset($url_array[0]) && $url_array[0] != '') {
$controller = $url_array[0];
} else {
$controller = DEFAULT_CONTROLLER;
}
if (isset($url_array[1]) && $url_array[1] != '') {
$action = $url_array[1];
} else {
$action = DEFAULT_ACTION;
}
if (isset($url_array[2])) {
$queryString = explode(PARAM_DELIMITER, $url_array[2]);
} else {
$queryString = array();
}
$controller_name = $controller;
$controller = ucwords($controller);
$model = rtrim($controller, 's');
$controller .= 'Controller';
$dispatch = new $controller($model, $controller_name, $action);
if ((int)method_exists($controller, $action)) {
// I get the error after this function call
call_user_func_array(array($dispatch, $action), $queryString);
} else {
/* error */
}
}
該函數從URL加載的一些參數,然後調用正確的控制器,後call_user_func_array調用它應該加載相應的控制器PHP文件但我得到這個錯誤:
Parse error: syntax error, unexpected T_STRING in /web/htdocs/www.mysite.com/home/app/application/controllers/CONTROLLERFILE.php on line 1
這發生在每個控制器上。 我試圖檢查此調用之前的代碼,但由於它在本地主機上正常工作,我不知道該看什麼。我所知道的唯一的區別是魔術引號是關在本地主機上,並在服務器上,但我不知道這是否
編輯 此外,每個控制器的啓動是:
<?php
class ControllerName extends Controller {
localhost是一個Windows系統我的服務器是Linux的一個,如果這可能很重要。
演示:http://codepad.org/ hkA9UTt7沒有得到你發佈的分析錯誤。 –
確認我也正確解析。 –
@Jared Farrish:自己嘗試一下:http://www.dovemangiostasera.com/app/place/view/1 –