preg_replaceが動作してない

wordpressのサイトを別サーバへ移行したらtrust formがおかしい。
フォームを読み込むタグを書いてもフォームが表示されず、コンソールには以下のエラーが

GET http://hogehoge.com/wp/wp-content/plugins/trust-form/css/front_.css?ver=3.4.1 404 (Not Found)

なんかcssが読み込めてない様子。
ソースを追っかけていくと、wp-includes/shortcodes.php の shortcode_parse_atts で preg_replaceが動作してない!!
そんな訳ないと思い、サーバ上でpreg_replaceのテストソースを書いて実行すると

PHP Warning:  preg_replace(): Compilation failed: unknown option bit(s) set at offset 0 in test.php on line 4

PHP Warning・・・

いろいろ調べて(本日2度目)以下の記事にたどり着く

http://kitaney.jp/~kitani/manual/php/php53.html

4に同様のことが書いてありました。
phpとpcreの互換が問題だったようです。
記事通りにpcreを最新のものにアップデートしたら解決!

これで明日からの夏休みを心おきなく楽しめそうです

コメントを残す