FreeBSD и JSON

Получил на сервере под управлением FreeBSD следующию ошибку в PHP:
Fatal error: Call to undefined function json_encode() 
Она означает, что в PHP не модключен модуль: json.so, полез включать.
Прежде всего сходил, в:
/usr/local/etc/php/extensions.ini
и убедился, что модуля там нету, ну раз нету, значит надо установить:
| 1 2 3 4 |     #cd /usr/ports/lang/php5-extensions       #make config | 
Отметил все необходимые модули, в том числе: JSON 'javascript Object Serialization support'
нажал OK
Далее запустил инсталляцию модулей:
| 1 2 3 | #make install clean | 
Но получил ошибку:
Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable is set correctly and then rerun this script
Для начала добавил, эти переменные в ~/.profile
| 1 2 3 4 | PHP_AUTOCONF=autoconf259; export PHP_AUTOCONF   PHP_AUTOHEADER=autoheader259; export PHP_AUTOHEADER | 
Как советовали в ЧАВО Хостинга Agava, но это не помогло. Возможно нужен ребут, но завершение сессии и новое её открытие положение с ошибками не исправили.
После этого нашел такое вот решение:
| 1 2 3 4 |     setenv PHP_AUTOCONF autoconf       setenv PHP_AUTOHEADER autoheader | 
это помогло, запустил сново:
| 1 2 3 | #make install clean | 
На этот раз все получилось, модули установились, и теперь я их наблюдал в:
/usr/local/etc/php/extensions.ini
Осталось рестартануть Apache:
| 1 2 3 | #httpd -k restart | 
На этом этапе скрипты заработали, так как и ожидалось
Справочник:
Комманда:
| 1 2 3 | #make install clean | 
Аналог набору комманд:
| 1 2 3 4 5 | #make   #install   #clean | 
За исключением того, что все три команды выполнятся автоматически, без остановок в ожидании ввода следущей команды.
#make — сначала скачивает нужный файл, распаковывает архив, конфигурирует согласно параметрам.
#install — устанавливает ПО согласно конфигурации.
#clean — удаляет файлы, которые были созданы в процессе установки.
Author: | Rating: / | Tags:

Leave a Reply