0

CentOS、Plesk、php-fpm を備えた新しい WebServer を取得しました。これで、php 拡張機能が実行されなくなりました。

我々のしたこと:

  • 最新の SQL Anywhere 17 をインストール (ebf29577)
  • php-7.3.0_sqlanywhere_r.so を /opt/plesk/php/7.3/lib64/php/modules/ にコピーしました
  • /opt/plesk/php/7.3/etc/php.d/sqlanywhere.ini 経由で php-7.3.0_sqlanywhere_r.so をロードする
  • これはエラーにつながります: 警告: [プール plesk-php73-fpm.plesk-service.localdomain] 子 11616 は stderr に言いました: "通知: PHP メッセージ: PHP 警告: sqlanywhere モジュールの request_startup() が行 0 の不明で失敗しました" (これにより、php 7.3 fpm がまったくロードされません)
  • 次の試行は、FPM から CGI に切り替えることでした: 同じエラー
  • LD_LIBRARY_PATH がパス /opt/sqlanywhere17/lib64/ で拡張されている場合、モジュールはシェル内でロード可能です
  • strace で原因を特定しようとしても役に立たなかった

誰かアイデアを持っているか、php 拡張機能を正常にインストールしたことさえあります。

ありがとうフロリアン

4

2 に答える 2

0

私にとっての解決策は、カスタムハンドラーを作成することでした:

plesk bin php_handler --add -displayname "PHP SQLAnywhere 7.4" -path /opt/php-custom-handlers/7.4/php-sqlanywhere.fcgi -clipath /opt/plesk/php/7.4/bin/php -phpini /opt/plesk/php/7.4/etc/php.ini -type fastcgi

php-sqlanywhere.fcgi の内容:

#!/bin/bash
LD_LIBRARY_PATH=/opt/sqlanywhere17/lib64
export LD_LIBRARY_PATH
exec /opt/plesk/php/7.4/bin/php-cgi "$@"

最後に、ドメイン php 設定でこのハンドラーを使用し、追加のディレクティブを追加します。

extension=sqlanywhere.so
于 2021-02-16T19:19:03.547 に答える