在 MAMP Pro 安装上设置 BlackFire.io (Mac OSX)

Setting up BlackFire.io on a MAMP Pro installation (Mac OSX)

我在 Mac OSX (10.10) 和 MampPro (3.2.1) 上本地 BlackFire.io 和 运行 遇到了很大的困难) 设置。

我已经能够成功地按照大部分说明进行操作,但我相信 OSX 的本机 PHP/Apache 安装正在执行一些安装命令,而不是我的 MAMP 配置。到目前为止,找不到任何与 MAMP 环境相关的文档。

有没有办法清楚地描述这两者,以便我可以确保将 BlackFire 插件和配置定向到我的 MAMP 安装?或者有没有办法删除 OSX 的 PHP/Apache?

有没有其他人在这种环境下成功启动并运行?

您必须在正确的文件夹中安装 PHP 探测器(MAMP 的 PHP 可执行文件所在的文件夹)。

运行 php -i | grep 'extension_dir' 并从 here 手册 选项卡下下载探针。

之后,编辑php.ini(文件>编辑模板>PHP>您的PHP版本),并在文件末尾添加配置:

[blackfire]
;Replace the path with the path of the folder where you downloaded the probe
extension="/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/blackfire-php-darwin_amd64-php-55.so"

; On Linux systems, uncomment the following line
;blackfire.agent_socket = unix:///var/run/blackfire/agent.sock
; On Mac OS X systems, uncomment the following line
blackfire.agent_socket = unix:///usr/local/var/run/blackfire-agent.sock

blackfire.agent_timeout = 0.25

; Log verbosity level (4: debug, 3: info, 2: warning, 1: error)
blackfire.log_level = 4

; Log file
blackfire.log_file = /tmp/blackfire.log

blackfire.server_id = YOUR_SERVER_ID

blackfire.server_token = YOUR_SERVER_TOKEN

我能够按照他们对代理和 CLI 的说明进行操作,但必须手动让探测器与 MAMP 一起工作。

这是我为使探测器在 OSX 10.11.6 和 MAMP 4.1 和 PHP 7.1 上工作所做的工作:

  1. here 下载适当的 .so 扩展文件,在“手册”选项卡下的 "Installing the PHP Probe" 部分下。

  2. 运行 which php 查看命令行中的 php 是否使用与 MAMP 相同的版本。如果是,请跳至#3。如果不是:

    如果不是,您可能需要设置环境变量。有几种方法可以做到这一点。我通常只是像这样为我的用户这样做:

    找出 PHP MAMP 正在使用的版本的路径。然后添加

    export PATH=/Applications/MAMP/bin/php/php7.1.0/bin:$PATH
    

    ~/.bashrc,然后运行source ~/.bashrc使更改生效。

    如果 which php 仍未指向 MAMP 的 PHP,请考虑在继续之前搜索此问题的解决方案。

  3. 将下载的 blackfire.so 文件复制到 PHP 的扩展目录:

    /Applications/MAMP/bin/php/php7.1.0/lib/php/extensions/no-debug-non-zts-20160303
    

    (或类似)

  4. 找出 PHP 的 ini 与 php --ini 的位置。大概是 /Applications/MAMP/bin/php/php7.1.0/conf/php.ini

  5. 更新您的 php.ini:

    ;Replace the path with the path of the folder where you downloaded the probe
    extension="/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/blackfire-php-darwin_amd64-php-55.so"
    
    ;Replace the path with the path of the folder where you downloaded the probe
    extension="/Applications/MAMP/bin/php/php5.5.10/lib/php/extensions/no-debug-non-zts-20121212/blackfire.so"
    
    blackfire.agent_socket = unix:///usr/local/var/run/blackfire-agent.sock
    
    blackfire.agent_timeout = 0.25
    
    ; Log verbosity level (4: debug, 3: info, 2: warning, 1: error)
    blackfire.log_level = 4
    
    ; Log file
    blackfire.log_file = /usr/local/var/log/blackfire/blackfire.log
    
    blackfire.server_id = YOUR_SERVER_ID
    
    blackfire.server_token = YOUR_SERVER_TOKEN
    

    this page 的部分获取服务器 ID 和令牌,该部分 就在您下载 .so 扩展的顶部 之上。

  6. 重新启动 Apache:sudo apachectl restart。如果 MAMP 导致问题,您可能需要执行 stopstart 而不是 restart

  7. 验证扩展是否存在并具有配置:php --ri blackfire

如果所有这些都有效,您现在应该可以开始了。