The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"В Apache не работают модули PHP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"В Apache не работают модули PHP"  +1 +/
Сообщение от Alex_Eisemail (ok), 01-Фев-19, 10:57 
Доброго всем дня.
Стоит система FreeBSD 11.2 на ней apache24 и php.
До поры, до времени все хорошо работало, проблемы начались после очередного обновления портов.

К примеру, на сайте лежит такой файл test.php:

<?php
  $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' =>5);
  echo json_encode($arr);
?>

При запуске php test.php на выход выдается json, если в браузере набрать example.com/test.php то пишет ошибку: Fatal error: Uncaught Error: Call to undefined function json_encode() in /data/www/ddns/test.php:3 Stack trace: #0 {main} thrown in /data/www/ddns/test.php on line 3

Так же и с другими модулями, не только с json.

Буду очень признателен если подскажите куда копать!

С уважением,
Алексей.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. "В Apache не работают модули PHP"  +/
Сообщение от . (?), 01-Фев-19, 11:10 
> При запуске php test.php на выход выдается json, если в браузере набрать
> example.com/test.php то пишет ошибку: Fatal error: Uncaught Error: Call to undefined

у браузерной версии может быть другой php.ini, или он может быть переопределен в fpm (если fpm) или в .htaccess - вплоть до полной неработоспособности.

> Буду очень признателен если подскажите куда копать!

в сторону создания файла <?php phpinfo;
и сравнения результата его запроса через веб-сервер с результатами запуска из cli - для начала обращая внимание на "Additional .ini files parsed"

P.S. потом не забываем удалить, особенно если тебе не пришло в голову ничего умнее /info.php

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "В Apache не работают модули PHP"  +/
Сообщение от universite (ok), 01-Фев-19, 11:11 
> Доброго всем дня.
> Стоит система FreeBSD 11.2 на ней apache24 и php.
> До поры, до времени все хорошо работало, проблемы начались после очередного обновления
> портов.
> К примеру, на сайте лежит такой файл test.php:
> <?php
>   $arr = array('a' => 1, 'b' => 2, 'c' =>
> 3, 'd' => 4, 'e' =>5);
>   echo json_encode($arr);
> ?>

Начните с вывода в коде функции

phpinfo(); 

Потом сравните ожидаемую версию PHP и список модулей.
Используйте еще системную команду  
php -m 
. Может, еще где-то есть варнинги.
Поищите модуль, в котором находится встроенная функция json_encode.
И в самом тяжелос случае освой модули типа xDebug.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "В Apache не работают модули PHP"  +/
Сообщение от Alex_Eisemail (ok), 01-Фев-19, 11:22 
Да. Первым делом я так и поступил. Сравнил phpinfo() из браузера и из cli. Версия совпадают,
Additional .ini совпадают, модули тоже...
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "В Apache не работают модули PHP"  +/
Сообщение от eRIC (ok), 01-Фев-19, 12:37 
> Fatal error: Uncaught Error: Call to undefined function json_encode() in /data/www/ddns/test.php:3 Stack trace: #0 {main} thrown in /data/www/ddns/test.php
> on line 3

установите php*-json. проблема заключается в конфликте лицензии JSON Extension и лицензии PHP (начиная с PHP 5.5 модуль по умолчанию не поставляется)

> Так же и с другими модулями, не только с json.

также у вас разные профили PHP (php.ini) для среды выполнения в cgi или mod_php* И cli. смотрите правильный php.ini и активируйте нужные вам extension (предварительно установив их)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "В Apache не работают модули PHP"  +/
Сообщение от Alex_Eisemail (ok), 02-Фев-19, 13:59 
Все-таки, видимо, где-то произошел сбой при обновлении портов. Я восстановил систему из бекапа и обновил порты еще раз. Все заработало.

Спасибо большое!

С уважением,
Алексей.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "В Apache не работают модули PHP"  +/
Сообщение от amekassa (ok), 15-Июл-19, 16:37 
>[оверквотинг удален]
>   echo json_encode($arr);
> ?>
> При запуске php test.php на выход выдается json, если в браузере набрать
> example.com/test.php то пишет ошибку: Fatal error: Uncaught Error: Call to undefined
> function json_encode() in /data/www/ddns/test.php:3 Stack trace: #0 {main} thrown in /data/www/ddns/test.php
> on line 3
> Так же и с другими модулями, не только с json.
> Буду очень признателен если подскажите куда копать!
> С уважением,
> Алексей.

Lorsque vous démarrez php test.php, json s'affiche en sortie. Si vous tapez exemple.com/test dans le navigateur, une erreur est générée: Erreur irrécupérable: Non capturé. : 3 Trace de pile: # 0 {principal} jeté dans /data/www/ddns/test.php à la ligne 3


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "В Apache не работают модули PHP"  +/
Сообщение от amekassa (ok), 15-Июл-19, 16:38 
>> Fatal error: Uncaught Error: Call to undefined function json_encode() in /data/www/ddns/test.php:3 Stack trace: #0 {main} thrown in /data/www/ddns/test.php
>> on line 3
> установите php*-json. проблема заключается в конфликте лицензии JSON Extension и лицензии
> PHP (начиная с PHP 5.5 модуль по умолчанию не поставляется)
>> Так же и с другими модулями, не только с json.
> также у вас разные профили PHP (php.ini) для среды выполнения в cgi
> или mod_php* И cli. смотрите правильный php.ini и активируйте нужные вам
> extension (предварительно установив их)

la version du navigateur peut avoir un php.ini différent, ou il peut être redéfini dans fpm (si fpm) ou dans .htaccess - jusqu'à une inopérabilité complète.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2019 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру