ユーザ用ツール

サイト用ツール


サイドバー

Index

はじめてのおつかい






DokuWiki整形記法


PlayGround



os:freebsd:portupgrade:php_error

PHPのエラー

portupgradeなどでアップデートを行った際に、以下のようなエラーが出るケースがあります。

Unable to load dynamic library

Unable to load dynamic library '/usr/local/lib/php/20090626/pcre.so'
Unable to load dynamic library '/usr/local/lib/php/20090626/spl.so' 

これは、pcreなどがPHPcoreに統合されたために、参照が必要なくなったにもかかわらず、参照しているために出ます。

対処としては、時間がかかりますが、PHP本体と依存パッケージの再ビルドが一番でしょう。

# portupgrade -rf php5

'PHP_FE_END' undeclared here

/usr/ports/security/php5-mcrypt/work/php-5.3.10/ext/mcrypt/mcrypt.c:283: error: 'PHP_FE_END' undeclared here (not in a function)

該当箇所の「PHP_FE_END」を「{NULL, NULL, NULL}」に書き換えるとコンパイルが無事にできます。

error: 'ZEND_MOD_END' undeclared here

この場合も同様に「ZEND_MOD_END」を「{NULL, NULL, NULL}」に書き換えるとコンパイルが無事にできます。

error: pcre.h: No such file or directory

phpMyAdminが依存している、security/php5-filterのインストール中に出ました。

cp /usr/local/include/pcre.h /usr/local/include/php/ext/pcre/

他に直す方法があるのかもしれませんが、こんな感じで逃げました。

Call to undefined function hash_mac()

先日、こんなエラーが出ました。
5.1.2からhash_mac関数は標準になってるはずなのになぜ?

pkg_replace -N php5-hash

結局、Portsから php5-hash をインストールして解消しました。1)

1)
なんか、釈然としない:-/
os/freebsd/portupgrade/php_error.txt · 最終更新: 2017/04/14 14:21 (外部編集)