Підключення модулів (extensions) php у freebsd 10

Є машина з FreeBSD 10.1, мережа налаштована, порти оновлені. Намагаюся запустити збірку Apache 2.2 + MySQL + php5.5 (+ extensions) + phpMyAdmin. Apache запустився, сторінку "It works!" відобразив. PHP теж встановився, для апача ставив модуль php55_mod. Вийшло вивести phpinfo (). І ось на следуещем кроці у мене затикаючи: не встановлюється phpMyAdmin:

Call to undefined function mb_detect_encoding () in /usr/local/www/phpMyAdmin/libraries/php-gettext/gettext.inc on line 177

Після деякого гугленія зрозумів, що справа в тому, що у мене не встановилися модуль mbstring і ще до купи. В логах однотипні помилки:

Я розумію, що у мене debug-php скомпільовано, хоча я явно не вказував Debug при конфігуруванні. Або може я не так розумію? Взагалі суть питання проста: як мені домогтися ідентичності рядків? Або так:

Буду вельми вдячний за відповідь.

Я взяв віртуальну машину (qemu-kvm), поставив туди FreeBSD 10.1-RELEASE amd64 і спробував відтворити Вашу проблему. Мої кроки:

Заощадимо трохи часу, поставивши деякі залежності руками, з пакетів, без складання з вихідних. Тепер займемося портами:

Галка "DEBUG" в конфіги порту lang / php55 за замовчуванням знята, може у Вас в ній справа? Залишаю все, як є, тисну OK.

У діалозі конфігурації порту lang / php55-extensions наголошую на додаток до зазначеного з коробки галки BCMATH, CURL, FTP, GD, GETTEXT, MBSTRING, MCRYPT, MYSQLI, OPENSSL, PDO_MYSQL, READLINE, SOCKETS, XMLRPC, ZIP. У решти портів приймаю дефолтну конфігурацію. Тепер можна збирати PHP (ставимо порт php55-extensions, порт php55 покладена як залежність):

PHP з модулями встановлений. Ставимо MySQL:

Готово. Ставимо Apache:

Apache запущений, "It Works" показує, phpinfo () показує всі потрібні модулі. Поставимо phpmyadmin:

Все, можна логінитися в phpmyadmin і ламати MySQL. (Насправді немає, так як з коробки у MySQL користувач root логинится без пароля, а pma цьому чинить опір - треба або задати руту пароль, або додати $ cfg [ 'Servers'] [$ i] [ 'AllowNoPassword'] = 1; в конфіг pma.)

Чи не відтворилася у мене Ваша проблема. Десь Ви щось наплутали, або ми спочатку говорили про різні речі - тоді мій експеримент це повинен показати.

Update: забув про Таймзона:

і після цього перезапустити апач - PHP підхопить нову timezonedb, в чому можна переконатися в phpinfo ():

Схожі статті