PHP命令行版本与apache不同

PHP命令行版本与apache不同,php,macos,apache,composer-php,Php,Macos,Apache,Composer Php,我的OS X上的PHP命令行具有内置的Mavericks版本:5.4.24 我已经编译并配置了自己的php以与apache一起使用,apache的版本为:5.5.9 命令行版本位于/usr/bin中,我可以将其重命名以停止其工作,但不知道在何处或如何通过命令行运行我的编译(5.5.9)版本 5.5版本有一个libphp5.so文件,位于/usr/libexec/apache2 伙计们,这是MAC上的编译版本,所以我没有用yum或apt-get、自制或端口安装它 为了说明这一点,我正在尝试解决如何

我的OS X上的PHP命令行具有内置的Mavericks版本:5.4.24

我已经编译并配置了自己的php以与apache一起使用,apache的版本为:5.5.9

命令行版本位于/usr/bin中,我可以将其重命名以停止其工作,但不知道在何处或如何通过命令行运行我的编译(5.5.9)版本

5.5版本有一个libphp5.so文件,位于/usr/libexec/apache2

伙计们,这是MAC上的编译版本,所以我没有用yum或apt-get、自制或端口安装它

为了说明这一点,我正在尝试解决如何从命令行运行5.5.9版本

添加COMPOSER-PHP标记,因为我想在这个Mavericks构建中使用COMPOSER,如果没有我可爱的编译PHP,它不支持mcrypt,我找不到

以下是配置信息:

“./配置“”--前缀=/usr“”--mandir=/usr/share/man“”--infodir=/usr/share/info“”--sysconfdir=/private/etc“”--使用-apxs2=/usr/sbin/apxs“”--启用cli“”--使用配置文件路径=/etc“”--使用配置文件扫描目录=/libxml目录=/usr“”--使用openssl=/usr“”--使用kerberos=/usr“”--使用zlib=/usr”“--启用bcmath”“--使用-bz2=/usr”“--启用日历”“--禁用cgi”“--使用curl=/usr”“--启用dba”“--启用exif”“--启用fpm”“--启用ftp”“--使用gd”“--使用jpeg dir=/BinaryCache/apache_mod_php/apache_mod_php-87~65/Root/usr/local”“--使用png dir=/rycache/apache_mod_php-87~65/Root/usr/local”'--启用gd本机ttf'--使用icu dir=/usr'--使用ldap=/usr'--使用ldap sasl=/usr'--使用libedit=/usr'--启用mbstring'--启用mbregex'--使用mysql=mysqlnd'--使用mysqli=mysqlnd'--不带pear'--使用pdo mysql=mysqlnd'--使用mysql sock=/var/mysql/mysql.sock'--使用readline=/usr'--启用shmop'--使用snmp=/usr''“--启用soap“”--启用套接字“”--启用sysvmsg“”--启用sysvsem“”--启用sysvshm“”--使用tidy“”--启用wddx“”--使用xmlrpc“”--使用iconv dir=/usr“”--使用xsl=/usr“”--启用zip“”--使用pcre regex“”--使用mcrypt“”--使用freetype dir=/usr/X11R6“”--启用内置freetype”

Mavericks(5.4.24)版本如下:

/usr/bin/php -v
我的(5.5.9)版本在哪里

.so文件:

/Users/lisa/src/php-5.5.9/libs/libphp5.so  
/usr/libexec/apache2/libphp5.so  

如果你自己编译的话,给我们你用过的命令。从那里,我们可以告诉你它在哪里

或者,在命令提示符下键入

find / -type f -iname '*php*' -print
它将查找名称中包含PHP的每个文件

如果只查找libphp5.so文件,请使用

find / -type f -iname 'libphp5.so' -print

最好是以比普通(sudoit)更高的权限运行它。

好吧,OSX不是没有软件管理吗?我只知道Linux,在那里你可以向软件管理部门询问安装的每个软件包,例如它包含哪些文件。。。否则,您可以使用phps内置函数
phpinfo()
获取有关引擎的信息。也许你能在那里找到关于引擎的有用信息。谢谢你的回复阿卡夏,我不确定osx上的软件管理,Linux中的那个叫什么?我在两个版本上都尝试过phpinfo(),但它没有提供任何线索,说明如何使用5.5版本获取命令行…?不同的linux发行版使用不同的软件管理系统,但它们的用途和基本功能是相同的。无论如何,这对你没有帮助。如果phpinfo不提供任何细节,那么请检查您的http服务器配置。必须在某个地方配置用于解释php脚本的php可执行文件或库。请注意,这可能只是一个库,通常http服务器现在不使用php可执行文件执行此类任务,its:/usr/libexec/apache2/libphp5.so但它是一个.so文件,因此无法从命令行使用??您好-有人在那里吗?搜索了php文件-找到了它们的音调,因为这是我做的,所以有很多php文件,但只有一个二进制文件。找到了.so文件@DaveyBoy(见上文)。一个用于我的apache,另一个用于我编译php的地方。如何将它们转换为php的二进制文件?
。因此
文件就是Apache mod文件。另一个文件(希望称为php)是用于命令行的二进制文件。您是否实际运行了安装PHP的命令?只需编译它,结果文件就会留在源文件夹中。我知道,当我在Linux上编译PHP时,需要一个
makeinstall
命令才能将文件实际放入正确的位置。用源代码检查安装文件时说,要使用Unix安装指南,您,@DaveyBoy是个明星!我可以吻你!!是的,我确实进行了安装,因为我让php在apache中工作,但仔细检查后发现有一个错误,上面写着“sed:RE error:unliked byte sequence”-我上次一定错过了。我通过添加一些东西来修复这个问题-请参阅和yippee PHP5.5.9(cli)(构建时间:2014年2月23日19:40:09)虚拟拥抱即将到来,谢谢:-)没问题@Lisa。很高兴你能正常工作。值得保留源代码文件夹中的
config.nice
文件以供将来参考(尤其是PHP5.5.11现在可用时)。您只需将
config.nice
文件复制到另一个PHP源文件夹中,运行它,它就会使用早期版本中使用的所有选项配置新版本。它节省了大量的打字。我发现它们在不同版本之间也非常兼容(即5.4.x->5.5.x)。事实上,你可能已经知道了这一点,但它总是值得一提,以防有人不知道)