apt-get установить эквивалент php-db для FreeBSD

Я пытаюсь заставить daloradius https://github.com/lirantal/daloradius работать в FreeBSD с пхп 5.6. Когда я пытаюсь войти, я получаю эту ошибку:

Неустранимая ошибка: класс 'DB' не найден в /.../library/opendb.php в строке 86

Пробовал следующее, но не сработало:

pkg install php-dba
pear install DB
pear install MDB2

Теперь в моем Linux-боксе я сначала получил эту ошибку, но когда я запустил следующее, это сработало:

apt-get install php-db

Во FreeBSD это не работает. Может ли кто-нибудь сказать мне эквивалент этого для FreeBSD? Или кто-нибудь смог заставить daloRadius работать в FreeBSD? Большое спасибо.

PS Я также пытался указать включаемому коду абсолютное местоположение файла DB.php (/usr/....../pear/DB.php), но это не сработало.


person gjg2013    schedule 22.08.2017    source источник
comment
когда вы пробовали эти команды, в чем была ошибка? Вы пытались найти отсутствующий пакет? pkg search -f package_name   -  person l.g.karolos    schedule 22.08.2017
comment
во FreeBSD ошибок нет, но в daloradius я получаю ту же ошибку DB.php. Да, я пытался выполнить поиск pkg, но совпадений с php-db нет.   -  person gjg2013    schedule 22.08.2017


Ответы (4)


Если я прав, DBA не находится по умолчанию pkg php56-extensions, но вы можете установить из исходного кода и выбрать необходимые расширения, для этого выполните:

# portsnap fetch extract

Затем:

# cd /usr/ports/lang/php56-extensions
# make config <--- select [x] DBA dba support
# make install

Это установит расширение DBA, дополнительную информацию об использовании портов можно найти здесь: https://www.freebsd.org/doc/handbook/ports-using.html

person nbari    schedule 22.08.2017
comment
привет, нбари, по-видимому, вариант FreeBSD, поставляемый с pfSense, не позволяет запускать эти команды. Я пытался и исследовал о них - person gjg2013; 27.08.2017

lang/php56-extensions — это метапакет, который просто подключает другие зависимости в соответствии с конфигурацией. Таким образом, вместо установки всех расширений по умолчанию вы можете установить только databases/php56-dba.

И компилировать не надо, pkg install php56-dba тоже подойдет.

person arrowd    schedule 22.08.2017
comment
Спасибо за ответ. но я попытался pkg установить php56-dba, и я все еще получаю сообщение об ошибке о том, что файл DB.php не найден. - person gjg2013; 23.08.2017

Я думаю, что вам нужна библиотека Pear DB. Во FreeBSD пакеты pear имеют префикс pear- вместо php-.

Пытаться:

# pkg install pear-DB
person Craig    schedule 25.08.2017
comment
привет, Крейг, спасибо за ответ, но я попробовал это, и это все еще не работает. - person gjg2013; 26.08.2017
comment
Не работает не имеет смысла без фактической ошибки. Мы все здесь смертные и неспособны к телепатии... Помогите нам помочь вам, процитировав любую диагностику, которую вы получите из предложенных команд. - person Mikhail T.; 19.09.2017

Вы правильно используете pkg. Но вы должны использовать правильные имена пакетов. Название пакета php-dba во FreeBSD сегодня зависит от версии PHP, которую вы хотите:

  • php56-dba
  • php70-dba
  • php71-dba

Для пакетов груши, которые вы перечислили, имена пакетов pear-DB и pear-MDB2 соответственно. Оба они созданы с использованием PHP-5.6 по умолчанию, поэтому, если вы хотите использовать предварительно собранные версии, вам нужно будет использовать PHP-5.6 (и php56-dba).

Но, похоже, вы уже установили все соответствующие пакеты, и ваша проблема связана с конкретным приложением (daloradus?). Таким образом, ваш вопрос не относится ни к FreeBSD, ни к установке пакетов на нее, и вам следует отредактировать его заголовок и теги, чтобы они соответствовали.

person Mikhail T.    schedule 19.09.2017