Установка Lapack на PHP

8

Я пытаюсь установить Lapack, чтобы использовать его с PHP (http://php.net/manual/en/book.lapack.php), поскольку это единственная библиотека PHP, которую я нашел который содержит вычисления для сингулярных значений.

Я на сервере Ubuntu 14.04 с Apache2.

Я установил gfortran и liblapack-dev, как указано на других сайтах, но все они перестают описывать, как его включить. Короче говоря, я получаю qerror при вызове статической функции из Lapack, говоря, что это не определенный класс.

Я полагаю, что мой следующий шаг включает расширение, но, несмотря на этот вопрос (Как проверить, какие расширения PHP были включены/отключены в Ubuntu Linux 12.04 LTS?) Я не нашел упоминания о Лакпеке. Как мне возобновить установку Lapack для PHP? Благодарю!

  • 1
    Если вы не найдете кого-то, кто создал бинарный пакет для вашей версии Ubuntu, я боюсь, что вам придется установить пакеты для разработки на C и скомпилировать расширение самостоятельно, как указано в руководстве по PHP. (Я настоятельно рекомендую вам сначала поискать бинарный пакет.)
  • 0
    Вы проверили, что находитесь в правильном файле конфигурации php? (Иногда CGI и CLI не используют один и тот же php.ini). Вы можете проверить phpinfo (); функционируйте как в консоли, так и в браузере, чтобы убедиться, что расширение включено в обеих средах.
Теги:
lapack

1 ответ

3
Лучший ответ

Установка Lapack из источника

Примечание. Протестировано на Ubuntu 16.04.

Установите предварительные условия:

sudo apt-get install php5-dev git svn cmake gfortran liblapack-dev

Следуйте инструкциям здесь (скопировано для удобства):

svn co https://icl.cs.utk.edu/svn/lapack-dev/lapack/trunk lapack
cd lapack
mkdir build
cd build
cmake -D BUILD_SHARED_LIBS=ON -D LAPACKE=ON ../
make 
sudo make install

Это создаст общую библиотеку Lapack. Теперь клонируйте расширение php из источника:

git clone https://github.com/ianbarber/php-lapack

И следуйте инструкциям, описанным там:

cd php-lapack
phpize
./configure
make 
sudo make install

Проверьте, установлено ли расширение: php -m | grep -i lapack

Обратите внимание, что расширение, скорее всего, несовместимо с PHP 7, так как оно не обновлялось более 5 лет.

  • 1
    Это то, что я имел в виду, установив пакеты разработки на C и собрав расширение самостоятельно . И довольно хорошее объяснение, если вы хотите, чтобы мое мнение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню