Вы не зашли.
Версия 0.9.3 работает на PHP 5.2 но на 5.3 не хочет запускаться - белый экран. Включал вывод ошибок - ничего не выводит только пустая белая страница. Кто может подсказать в чём несовместимость, может немного подправить надо? 0.9.4 наполовину запускается на 5.5 -пишет: Fatal error: no auth module found (плагин стоит). Я просто боюсь, что если как то перенесу на новую версию, то хостинги разные - если PHP попадется 5.2, то 0.9.4 на нём работать не будет, а если 5.3 то 0.9.3 не работает. Не каждый хостинг даёт версию выбрать. Вот я и хотел подправить, может бы 0.9.3 как-то с PHP 5.3 удалось совместить?
Не в сети
По первому случаю - что в логах? Пусто там не может быть.
По второму случаю - нужно смотреть chmod'ы и вообще установлен ли плагин auth_basic.
Не в сети
Версия 0.9.3 работает на PHP 5.2, а ее последние оновления (вроде с SVN1178+) на 5.3
Версия 0.9.4 работает как на 5.2 так и на 5.3 так и на 5.4
Просто старую версию надо вписать в индекс файле в блоке где есть текст типа
Необходима версия PHP 5.3 или выше
если стоит 5.3 или 5.4 то обе версии должни работать без проблем, если неработают то проблема скорее в другом
Не в сети
Спасибо за ответы.
По первому случаю - что в логах? Пусто там не может быть.
По второму случаю - нужно смотреть chmod'ы и вообще установлен ли плагин auth_basic.
Так в том то и дело, что логи я смотреть не могу на хостинге - нет их.
Плагин auth_basic стоит, активен ли - не знаю, потому что войти надо. шмоды - такие же как везде стандартные 755 или 775.
Версия 0.9.3 работает на PHP 5.2, а ее последние оновления (вроде с SVN1178+) на 5.3
У меня 880 вроде. Надо покопать эту сборку, правда снова придётся в utf8 переделывать
Не в сети
А где последнюю версию 0.9.3 1147 скачать? Что-то не могу найти. На странице загрузки SVN880, такая как у меня.
Поставил на Денвер PHP 5.4.31, включил логи: при загрузке белая страница, а в логах вот такое:
[22-Oct-2015 15:38:10 UTC] PHP Fatal error: Directive 'allow_call_time_pass_reference' is no longer available in PHP in Unknown on line 0
[22-Oct-2015 15:38:13 UTC] PHP Fatal error: Directive 'allow_call_time_pass_reference' is no longer available in PHP in Unknown on line 0
В .htaccess эта директива закомментирована, т.е. не может быть причиной. Есть там в install.php что-то об этом.
Пробовал закомментить вот это:
foreach (array('allow_call_time_pass_reference') as $flag) {
$tvars['vars']['flag:'.$flag] = ini_get($flag)?'Включено':'<font color="red">Отключено</font>';
if (!ini_get($flag)) { $warning++; }
}
В error.log больше ничего не пишет, но страница всё равно пустая белая
Изменено JancoNG (2015-10-22 20:00:18)
Не в сети
Ночная сборка http://ngcms.ru/files/SVN/
жизнь бьёт ключом......,ну иногда и гайкой.....
Хаки и Скрипты| Бесплатные шаблоны NGCMS
На Районе - Шахтинск Украшение Windows
Не в сети
А где последнюю версию 0.9.3 1147 скачать? Что-то не могу найти. На странице загрузки SVN880, такая как у меня.
Поставил на Денвер PHP 5.4.31, включил логи: при загрузке белая страница, а в логах вот такое:[22-Oct-2015 15:38:10 UTC] PHP Fatal error: Directive 'allow_call_time_pass_reference' is no longer available in PHP in Unknown on line 0
[22-Oct-2015 15:38:13 UTC] PHP Fatal error: Directive 'allow_call_time_pass_reference' is no longer available in PHP in Unknown on line 0
В .htaccess эта директива закомментирована, т.е. не может быть причиной. Есть там в install.php что-то об этом.
Пробовал закомментить вот это:foreach (array('allow_call_time_pass_reference') as $flag) { $tvars['vars']['flag:'.$flag] = ini_get($flag)?'Включено':'<font color="red">Отключено</font>'; if (!ini_get($flag)) { $warning++; } }
В error.log больше ничего не пишет, но страница всё равно пустая белая
В php.ini нужно отключать
Не в сети
0.9.3 [SVN880+FIX01] прекрасно работает с php 5.2 и 5.3
Не в сети
В php.ini нужно отключать
Не нужно, т.е. во-первых - это не решение, так как на хостинге никто к этому файлу доступ не даст, во-вторых я отключил, появилось :
Directive 'magic_quotes_gpc' is no longer available in PHP in Unknown on line 0
Потом:
Directive 'register_long_arrays' is no longer available in PHP in Unknown on line 0
А потом то что в начале - ошибок больше нет и белая страница. php.ini тут ни при чём. Если бы проблема была в нём, то другие движки тоже не работали бы, но WP успешно работает, да и не может же на всех хостингах быть "плохой" php.ini Копать надо где-то в движке, но где?...
=======
Так, в файле core.php идёт процесс до
@include_once root.'includes/inc/extras.inc.php';
После этой строчки - всё, гаплык! Пока столько накопал.
Изменено JancoNG (2015-10-24 16:58:57)
Не в сети
Копайте...
Только почему то у большинства все работает, а у вас нет
Не в сети
Копайте...
Только почему то у большинства все работает, а у вас нет
Да ну. Можете продемонстрировать, как NG 0/9/3 работает? например здесь (PHP 5.5) стоит. Или на хостингере можно.
Файл extras.inc.php, функция exec_acts, вот этот кусок кода:
foreach($functions as $func) {
$tX = $timer->stop(4);
if ($func['arguments'] == 0) {
$sth.=call_user_func($func['function']);
}
if ($func['arguments'] == 1) {
$sth.=call_user_func($func['function'],$sth);
}
if ($func['arguments'] == 2) {
$sth.=call_user_func($func['function'],$sth, &$arg1);
}
if ($func['arguments'] == 3) {
$sth.=call_user_func($func['function'],$sth, &$arg1, &$arg2);
}
if ($func['arguments'] == 4) {
$sth.=call_user_func($func['function'],$sth, &$arg1, &$arg2, &$arg3);
}
if ($func['arguments'] == 5) {
$sth.=call_user_func($func['function'],$sth, &$arg1, &$arg2, &$arg3, &$arg4);
}
$timer->registerEvent('func EXEC_ACTS ('.$item.'): call function "'.$func['function'].'" ['.$func['arguments'].' params] for '.($timer->stop(4) - $tX)." sec");
}
Сбой я так понял вызывает call_user_func, а именно когда аргументы по ссылке передаются. Первые 2 случая нет, а последующие - крах. Если вызов заменить например так:
call_user_func_array($func['function'],array($sth, &$arg1));
то есть продвижение, хотя в целом сайт так и не работает. Можно ли так заменить и дальше искать?
Если сравнить с версией 0.9.4, то там этот фрагмент кода вообще сделан просто так:
$output.=call_user_func($func);
т.е. аргументы никакие не разбираются, не передаются.. Но это может компенсировано как-то другими наработками?... Хотелось бы комментарий разработчиков или кто хорошо знает ядро. Спасибо.
Не в сети
Пф... Естественно передача аргументов по ссылке не будет работать в php >= 5.3
Меняется просто на &$arg1 => $arg1
Поискать по всем сорцам вхождения &$ не так уж и сложно.
Не в сети
Пф... Естественно передача аргументов по ссылке не будет работать в php >= 5.3
Меняется просто на &$arg1 => $arg1Поискать по всем сорцам вхождения &$ не так уж и сложно.
Спасибо. Вы мне очень помогли. Есть продвижения Были вхождения вызова функций с передачей по ссылке в cmodules.php, extras.inc.php Как поставил обычные переменные, движок запустился, даже в админку зашёл. НО! Сайт не работает как надо. Например в админке если перейти в раздел редактирования статей, то в списке статей у некоторых (по ходу без видимой закономерности) не показывается Title - просто пустое место. Там где в шаблоне админки есть entry.title, в то время как другие параметры работают.
При переходе на сайт, только каркас есть: шапка, сайдбар, а основное содержимое - лента новостей - нет, пусто вместо неё. Что может быть, куда копать?
Не в сети
Всё решено!:cool: То что не заполнялся mainblock - проблема в вызове [font=Courier]_MASTER_URL_PROCESSOR[/font],
если перейти в раздел редактирования статей, то в списке статей у некоторых (по ходу без видимой закономерности) не показывается Title - просто пустое место. Там где в шаблоне админки есть entry.title, в то время как другие параметры работают.
а здесь проблема у меня, потому что utf8 и [font=Courier]substr [/font]не контачат, в результате [font=Courier]htmlspecialchars[/font] видела "битую строку " и возвращала пустую.
Меняется просто на &$arg1 => $arg1
В самом деле никак не просто! Вы этим меня "ввели в заблуждение". Передать ссылки в php 5.3+ можно только при статическом вызове, а при [font=Courier]call_user_func[/font] - подвох получается, надо использовать [font=Courier]call_user_func_array[/font] - всё-таки как я предлагал, иначе никак..
Но в общем помогли, спасибо.
Не в сети