1

ここの指示に従いました: 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 がありません。

4

2 に答える 2

1

あなたがそこlp_solve_5.5/extra/PHP/を見つけることができるかどうかを確認してくださいconfig.m4

このつまらないスレッドは時代遅れですが、役立つはずです。

于 2013-10-21T19:01:06.580 に答える
1

とった。

私がそれを機能させるために取った以下の手順を投稿しました。長く見えますが、それほど悪くはありません。

この 3 つのサイトは、問題の解決に役立ちました。

正しいライブラリを構築するために

make使用時のmallocエラーについて

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-20100525php.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/PHPfunction_entryzend_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、すべてがまだ機能していました。

于 2013-10-23T19:49:17.267 に答える