ここの指示に従いました: http://lpsolve.sourceforge.net/5.5/PHP.htm#Compile_the_lpsolve_driverここからソースをダウンロードしました: http://sourceforge.net/projects/lpsolve/ただし、ディレクトリから phpize と入力するとソースの次のメッセージが表示されます。Cannot find config.m4.
Make sure that you run '/opt/local/bin/phpize' in the top level source directory of the module.
何が間違っているのかわかりません。lpsolve のソース ディレクトリのどこにも (再帰的に) config.m4 がありません。
2 に答える
あなたがそこlp_solve_5.5/extra/PHP/
を見つけることができるかどうかを確認してくださいconfig.m4
。
このつまらないスレッドは時代遅れですが、役立つはずです。
とった。
私がそれを機能させるために取った以下の手順を投稿しました。長く見えますが、それほど悪くはありません。
この 3 つのサイトは、問題の解決に役立ちました。
make 使用時の function_entry エラーについて
ダウンロード:
lp_solve_5.5.2.0_source.tar
,
lp_solve_5.5.2.0_PHP_source.tar
http://sourceforge.net/projects/lpsolve/files/lpsolve/5.5.2.0/から
これらは、それを機能させるために私が取った手順です。まず、拡張機能のディレクトリが正しいことを確認してください。私はファイル内で私のものをデフォルトに戻しました(基本的にコメントアウトして作成します/opt/local/lib/php54/extensions/no-debug-non-zts-20100525
)php.ini
。行も追加しましたextension=phplpsolve55.so
。$ port unload apache2
とを使用し$ port load apache2
て Web サーバーを再起動します。
この時点で端末を実行すると、ドライバー$ php
が見つからないというエラーが表示されます。phplpsolve55.so
lp_solve_5.5_source.tar.gz
という名前のディレクトリにダウンロードして展開しlp_solve_5.5
ます。
lp_solve_5.5.2.0_PHP_source.tar
という名前のディレクトリにダウンロードして展開しlp_solve_5.5_PHP
ます。
1) ソース ディレクトリに lp_solve ライブラリをビルドします。
$ cd lp_solve_5.5/lpsolve55
$ sh ccc.osx
これにより、lpsolve55 サブディレクトリに 2 つの新しいファイルが作成されます。
$ ls liblp*
liblpsolve55.a liblpsolve55.dylib
私にとって、2つのファイルは次の場所にありましたlpsolve55\bin\osx64
2) lp_solve ライブラリをインストールします。
directory にまだない場合はlpsolve55
、そこに cd します。liblpsolve55.a
およびliblpsolve55.dylib
にコピーします (最初/usr/local/lib
に作成する必要がある場合があります: ):/usr/local/lib
$ sudo mkdir -p /usr/local/lib
$ sudo cp liblpsolve55.a liblpsolve55.dylib /usr/local/lib
3) ビルドとインストールをテストします。
$ cd lp_solve_5.5/demo
ccc.osx
スクリプトが壊れています。幸いなことに、バージョン 5.5 の lp_solve では、以前のバージョンにあった Mac での "malloc.h" の非互換性が修正されています。Unix/Linux スクリプトが OS X で動作するようになりました。しばらくお待ちください...「デモ」のビルドに数秒かかる場合があります。
$ sh ccc
デモの例の問題は、エラーを発行せず、"優れた数値精度 ||*|| = 0" を持つ必要があります。
$ ./demo
3) php lpsolve ライブラリをビルドする
次に、PHP ディレクトリ ( lp_solve_5.5_PHP
)に移動します。
$ cd lp_solve_5.5_PHP/extra/PHP
$ phpize
$ ./configure --enable-maintainer-zts --with-phplpsolve55=PATH TO SOURCE DIRECTORY
* PATH TO SOURCE DIRECTORY は、lp_solve_5.5 を置く場所です *
次に、現在の ( ) ディレクトリPHPmod.c
にあるはずのディレクトリを開き、次のように変更します。lp_solve_5.5_PHP/extra/PHP
function_entry
zend_function_entry
hash.c
次に、同じディレクトリにあるはずのファイルを開き、次の行を変更します
#include <malloc.h>
に
#if !defined(__APPLE__)
#include <malloc.h>
#endif
**これを行う前に自分のマシンで実行し、これら2つのファイルについて不平を言ったので、これを行うことしか知らないことに注意してください$ make
*
それからする
$ make
$ cd modules
$ sudo cp phplpsolve55.so /opt/local/lib/php54/extensions/no-debug-non-zts-20100525/
現在、実行して$ php
もエラーは返されません。
Apache サーバーを再起動すると、拡張機能が動作するはずです。そうでない場合は、できる限りお手伝いします。
これが将来誰かに役立つことを願っています。
編集
Mavericks にアップデートしたばかりで、すべてが問題なく動作します。私がしたことは、ここ$ xcode-select --install
で概説されている手順に従い、アップグレードの完了後に実行しました。次に$ sudo port selfupdate
、ページの下部にあるスクリプトを実行して、すべてのポートをリロードしました。
curl -O https://svn.macports.org/repository/macports/contrib/restore_ports/restore_ports.tcl
chmod +x restore_ports.tcl
sudo ./restore_ports.tcl myports.txt
それが完了したら、私はそれを実行しましたが$ sudo port load apache2
、すべてがまだ機能していました。