2015-01-04 2 views
0

Я пытаюсь звонить из CLI скрипта PHP, которые включают в PHP Simple HTML DOM Parser library, у меня есть два файла:PHP включает в себя ошибку при вызове скрипта из CLI

файл test.php скрипт

<?php 
echo exec('php -f script.php'); 
?> 

файла .php

<?php 
include('simple_html_dom.php'); 
$ob = new simple_html_dom(); 
?> 

на PHP 5.5.12 это работает отлично, но на сервере, на котором работает PHP 5.5.18 я получаю следующее сообщение об ошибке:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /path/to/simple_html_dom.php on line 117

Линия 117 является:

public $nodetype = HDOM_TYPE_TEXT; 

Этот констант объявлен в строке 48, как:

define('HDOM_TYPE_TEXT', 3); 

Я не вижу никаких проблем! Я не знаю, почему это прослушивает .18, а не в .12, я пробовал все, вы можете мне помочь?

ответ

1

Я думаю, что ваш сервер работает с очень старой версией PHP
попробовать это: var_dump(shell_exec("php --version")); или просто запустить phpinfo.php

+0

действительно: строки (146) «PHP 4.4.9 (CGI) (встроенный: 20 апреля 2012 г. 18:34:17) Copyright (c) 1997-2008 PHP Group Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies " Является ли версия php cli независимой от версии php, которая равна 5.5 на мой сервер? – ubugnu

+0

Нет, ваш сервер работает с PHP 4.4.9, а не с 5.5, как вы сказали. вы являетесь администратором этого сервера? если да: проверьте, что вы загрузили правильную версию php, правильно связали свой сервер Apache с вашим PHP и перезапустили apache –

+0

Спасибо, мой ответ мне очень помог! Нет, я не администратор, но, по-видимому, OVH запускает по умолчанию две разные версии для CLI и CGI !! Я обнаружил, что я должен назвать более новую версию php-cli, указав весь ее путь, теперь он работает. – ubugnu

Смежные вопросы