在 macOS Big Sur 上安装 ionCube 加载程序

问题描述 投票:0回答:2

我从 https://www.ioncube.com/loaders.php
下载了加载器向导 向导好像有很多问题:
Wizard

  1. 向导检测到我正在使用 macOS x86-64,没关系
  2. 我下载了存档,它包含除 7.4 和 8.x 之外的所有 php 版本的
    ioncube_loader_dar_x.x.so
    文件
  3. 我将加载程序文件放入
  4. /usr/local/lib/php/pecl/20190902
    
    
  5. /usr/local/etc/php/7.4/conf.d/00-ioncube.ini
    我有

    zend_extension = /usr/local/lib/php/pecl/20190902/ioncube_loader_mac_7.4.so
    
    但我在下载的存档中没有 php 7.4 的加载程序文件。并且在存档中有 
    ioncube_loader_DAR_x.x.so
     文件而不是 
    ioncube_loader_MAC_x.x.so
    
    dar 和 mac 有什么区别?

我从官方网站(而不是向导中的链接)手动下载了 macOS(64 位)加载程序,并且存档中有 7.4,因此我继续使用此文件进行安装。但现在我又遇到了 macOS 安全问题 😢

我遇到了证书问题并遵循了本教程:

https://www.simplified.guide/macos/apache-php-homebrew-codesign

我使用以下命令签署了我的 php7.4 和加载程序文件:

codesign --sign "Yarik Nashivan" --force --keychain ~/Library/Keychains/login.keychain-db /usr/local/opt/[email protected]/lib/httpd/modules/libphp7.so codesign --sign "Yarik Nashivan" --force --keychain ~/Library/Keychains/login.keychain-db /usr/local/lib/php/pecl/20190902/ioncube_loader_mac_7.4.so
但我的 apache 日志中仍然有错误:

Failed loading /usr/local/lib/php/pecl/20190902/ioncube_loader_mac_7.4.so: dlopen(/usr/local/lib/php/pecl/20190902/ioncube_loader_mac_7.4.so, 9): no suitable image found. Did find: /usr/local/lib/php/pecl/20190902/ioncube_loader_mac_7.4.so: code signing blocked mmap() of '/usr/local/lib/php/pecl/20190902/ioncube_loader_mac_7.4.so' /usr/local/lib/php/pecl/20190902/ioncube_loader_mac_7.4.so: stat() failed with errno=22
    
php macos apache webserver ioncube
2个回答
0
投票
问题出在默认的 macOS apache2 上。我通过 homebrew 安装并配置了 httpd,一切正常:

brew install httpd
    

0
投票
我刚刚遇到了同样的问题,原因显然是 mac 阻止了任何下载的文件的执行。这很好,但在我们的例子中,我们下载的是官方文件,对吗?

因此,要解决此问题,请按照说明复制所需的文件,

确保您的 ini 文件引用与您的 php 版本相同,
并允许
*.so

 被执行:

cd /usr/local/lib/php/pecl/20190902 xattr -d com.apple.quarantine ioncube_loade*
第2行是让文件加载成功的关键。

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.