2

我正在尝试使用以下教程创建消息队列;

http://www.ebrueggeman.com/blog/creating-a-message-queue-in-php

我遇到的问题是我收到以下错误;

ErrorException [ Fatal Error ]: Call to undefined function msg_get_queue()

我发现这是因为我的 PHP 安装缺少一些信号量函数,我应该使用以下参数 --enable-sysvmsg 重新编译我的 PHP 安装。

我在 Lion OSX 上运行 MAMP,实际上不知道从哪里开始。我在 MAMP 论坛上找不到任何有关如何执行此操作的信息或有关为 OSX 启用信号量功能的更多信息。解决这个问题的最佳方法是什么?

4

1 回答 1

0

正如您在问题中所说,您需要编译一个Semaphore启用的 php 版本。步骤是:

  1. 下载PHP
  2. 使用所需的 --enable-xxx 参数执行./configure(我使用的列表如下所述)。这并不容易,您可能还需要安装一些 brew 包(我需要安装map-uwlibiodbc)。
  3. 执行make
  4. 用新编译的版本替换MAMP版本

./configure我使用的参数:

./configure \
--prefix=/Applications/MAMP/bin/php/php5.4.45 \
--exec-prefix=/Applications/MAMP/bin/php/php5.4.45 \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--sysconfdir=/Applications/MAMP/bin/php/php5.4.45/conf \
--enable-cli \
--with-config-file-path=/Applications/MAMP/bin/php/php5.4.45/conf \
--with-libxml-dir=/Applications/MAMP/Library \
--with-openssl=/Applications/MAMP/Library \
--with-kerberos=/usr \
--with-zlib=/Applications/MAMP/Library \
--with-zlib-dir=/Applications/MAMP/Library \
--enable-bcmath \
--with-bz2=/Applications/MAMP/Library \
--enable-calendar \
--with-curl=/Applications/MAMP/Library \
--enable-dba \
--enable-exif \
--enable-ftp \
--with-gd \
--enable-gd-native-ttf \
--with-icu-dir=/Applications/MAMP/Library \
--with-iodbc=/Applications/MAMP/Library \
--enable-mbstring=all \
--enable-mbregex \
--with-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--without-pear \
--with-pdo-mysql=mysqlnd \
--with-mysql-sock=/var/mysql/mysql.sock \
--enable-shmop \
--enable-soap \
--enable-pcntl \
--enable-sockets \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--with-xmlrpc \
--with-iconv=/Applications/MAMP/Library \
--with-xsl=/Applications/MAMP/Library \
--enable-zip \
--with-kerberos \
--enable-intl \
--with-pcre-regex \
--with-freetype-dir=/Applications/MAMP/Library \
--with-jpeg-dir=/Applications/MAMP/Library \
--with-png-dir=/Applications/MAMP/Library \
--with-t1lib=/Applications/MAMP/Library \
--with-gettext=shared,/Applications/MAMP/Library \
--with-mcrypt=shared,/Applications/MAMP/Library \
--enable-opcache \
--enable-cgi \
--with-libexpat-dir=/Applications/MAMP/Library \
--with-mhash
于 2019-09-23T09:52:13.837 回答