在PHP上安装Lapack

Mem*_*ick 8 php ubuntu lapack

我正在尝试安装Lapack以使用PHP(http://php.net/manual/en/book.lapack.php),因为它是我发现的唯一包含奇异值计算的PHP库.

我在使用Apache2的Ubuntu 14.04服务器上.

我按照其他网站的指示安装了gfortran和liblapack-dev,但他们都没有描述如何包含它.简而言之,当从Lapack调用静态函数时,我得到一个错误,说它不是一个定义的类.

我认为我的下一步是启用扩展,但是尽管遵循了这个问题(如何检查在Ubuntu Linux 12.04 LTS中启用/禁用了哪些PHP扩展?)我没有提到Lapack.我该如何恢复安装Lapack for PHP?谢谢!

Pet*_*ete 3

从源代码安装 Lapack

注意:在 Ubuntu 16.04 上测试。

安装先决条件:

sudo apt-get install php5-dev git svn cmake gfortran liblapack-dev
Run Code Online (Sandbox Code Playgroud)

请按照此处的说明进行操作(为了方便而复制):

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
Run Code Online (Sandbox Code Playgroud)

这将创建 Lapack 共享库。现在从源代码克隆 php 扩展:

git clone https://github.com/ianbarber/php-lapack
Run Code Online (Sandbox Code Playgroud)

并按照其中所述的说明进行操作:

cd php-lapack
phpize
./configure
make 
sudo make install
Run Code Online (Sandbox Code Playgroud)

检查是否安装了扩展:php -m | grep -i lapack

请注意,该扩展很可能与 PHP 7 不兼容,因为它已经超过 5 年没有更新了。