覚え書きです。WordPressを使用していて、エックスサーバービジネスなどのレンタルサーバーだとPDFをアップロードした時に自動でサムネイルが生成されるのですが、Homebrewを使用して構築したMacのローカルだとサムネイルが生成されませんでした。PHPのImagickモジュールとGhostScriptはインストール済ですが、WordPressのサイトヘルス情報を見ると「Ghostscript バージョン」の所に正しくバージョンが表示されていませんでした。
コードを確認するとexec( 'gs --version' );
のように書かれており、どうやらパスが通っていない状況です。
// Get Ghostscript information, if available.
if ( function_exists( 'exec' ) ) {
$gs = exec( 'gs --version' );
if ( empty( $gs ) ) {
$gs = $not_available;
$gs_debug = 'not available';
} else {
$gs_debug = $gs;
}
} else {
$gs = __( 'Unable to determine if Ghostscript is installed' );
$gs_debug = 'unknown';
}
解決法を探ると、「php - How do I add paths to the Apache PATH variable? - Stack Overflow」のコメントに.plistを編集してパスを追加する方法が見つかりました。Homebrewなので、/usr/local/Cellar/httpd/2.4.41_1/homebrew.mxcl.httpd.plist
に以下を追記し、コマンド検索パスに/usr/local/bin
を追加したところ、問題なく動作するようになりました。
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin</string>
</dict>
print_r( exec( 'echo $PATH' ) );
でも変更が確認できました。