質問: ### 前提・実現したいこと PHPからPerlを呼び出すため、PECL-Perl 1.0.1を使用していたのですが、 PHP5.6からPHP7.0.12にアップグレード後、使えなくなりました。 PECL-Perl https://pecl.php.net/package/perl 再度PECL-Perl 1.0.1をソースからインストールし直し、 php.iniにextension=perl.soを追加しましたが、logに下記のerrorで動きません。 [error] 28622#28622: *273 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Class 'Perl' not found in PHP7での使用は不可能でしょうか? PHPからPerlを呼び出す必要があるため、ご教授お願いいたします。 ### 発生している問題・エラーメッセージ php-fpm -v [21-Oct-2016 04:59:21] NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/perl.so' - /usr/lib64/php/modules/perl.so: undefined symbol: zval_used_for_init in Unknown on line 0 PHP 7.0.12 (fpm-fcgi) (built: Oct 13 2016 18:03:58) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies ### 試したこと インストールは以下を参考にインストールしました。 https://askubuntu.com/questions/245996/unable-to-install-pecl-extension-for-perl-in-ubuntu-server-12-10/248858 ### 補足情報(言語/FW/ツール等のバージョンなど) CentOS 7.2.1511 Nginx 1.10.2
回答: PECL : 2013-01-23 PHP 7 : 2015-12-03 ですのでメジャーバージョンアップしたPHP7には非対応でしょう 大抵 NEWER / LETER 等それ以降を表すものはメジャーアップデートの対象ではありません。 現状 5.6 のほうが 7.0 よりセキュリティパッチの更新が長いので 5.6 にしてください。 ちなみに system で呼び出しは可能なはずです。(戻り値を別の方法で受け取りましょう)