我按照此处的说明操作: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。
答案 0 :(得分:1)
查看lp_solve_5.5/extra/PHP/
,了解您是否能够在那里找到config.m4
。
此nabble thread已过时,但应该有所帮助。
答案 1 :(得分:1)
GOT IT。
我已经发布了以下步骤以使其正常运行。它看起来很长但不是那么糟糕。
这三个网站有助于解决这个问题。
For building the correct library
For malloc error when using make
For function_entry error when using make
下载:
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
重新启动网络服务器。
如果您运行$ 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子目录中创建两个新文件:
$ ls liblp*
liblpsolve55.a liblpsolve55.dylib
对我来说,这两个文件位于lpsolve55\bin\osx64
2)安装lp_solve库。
如果目录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上运行
患者...
构建'demo'可能需要几秒钟时间:
$ 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
*无论您将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
** 注意我只知道这样做是因为我在执行此操作之前在我的计算机上运行$ make
并且抱怨这两个文件 *
然后做
$ make
$ cd modules
$ sudo cp phplpsolve55.so /opt/local/lib/php54/extensions/no-debug-non-zts-20100525/
现在运行$ php
不应该返回任何错误。
再次重启Apache服务器,扩展应该可以正常工作。如果没有,我会尽我所能帮助。
希望这有助于将来。
修改强> 的
刚刚更新到小牛队,一切都运行得很好。我所做的是按照here概述的步骤,在完成升级后运行$ 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
,一切仍然有效。