__construct () {проблема для PHP4 и PHP5. может быть другая причина - PullRequest
0 голосов
/ 05 августа 2009

У меня странная проблема с CodeIgniter,

вот стартовая часть моего контроллера

class Home extends Controller
{
    /** 
    * Constructor
    */ 
    public function __construct() {
        parent::Controller();

    }

...

на localhost все работает нормально, но когда я пытаюсь сделать то же самое на сервере, я сталкиваюсь с ошибкой, как показано ниже:

Ошибка разбора: синтаксическая ошибка, неожиданная T_STRING, ожидая T_OLD_FUNCTION или T_FUNCTION или T_VAR или '}' в /home3/blabla/public_html/blablabla/applications/frontend/controllers/home.php по линии 22 * ​​1009 *

Я исследовал, и люди говорят, что речь идет о PHP4 .. это должен быть PHP5. но на моем сервере включен PHP5. в чем может быть причина?

ценить помогает! Большое спасибо!

Ответы [ 5 ]

4 голосов
/ 05 августа 2009

Похоже, что интерпретатор запутался в ключевом слове public, которого не ожидает, что указывает на проблему с сайтом, работающим на PHP4.

Убедитесь, что вы повторяете версию PHP на самом сайте, а не просто просматриваете ее на панели управления.

Проверьте, есть ли какие-либо директивы .htaccess, которые могут изменить обработчик по умолчанию на PHP4.

Иногда хост может по умолчанию использовать PHP4 для .php файлов и PHP5 только для .php5 файлов.

2 голосов
/ 06 августа 2009

Мне очень жаль! Я не знаю, как, но информационная панель Bluehost говорит, что PHP 5 активен. и я просто поверил этому. когда я делаю php_info (); страница на всякий случай, я видел на самом деле это PHP 4: /

Я обновил сервер для PHP5 и теперь все в порядке.

Прошу прощения за возня. и спасибо всем за отличную поддержку !!!

0 голосов
/ 05 августа 2009

Я удалил публичную часть, и она работает нормально. это странно! там действительно важна эта публика!?

0 голосов
/ 05 августа 2009

Посмотрите в своем файле php.ini версию php, которая работает.

0 голосов
/ 05 августа 2009

Есть ли у вас такая же проблема с другими функциями в классе? потому что, насколько я знаю, вы не можете сделать конструктор публичным или приватным. Это должна быть только функция «__construct ()».

...