私は Timthumb を使用して、WordPress ブログの写真をリサイズしています。ローカル マシンでは正常に動作していますが、リモート サーバー Timthumb にアップロードすると、次のエラーが返されます。
指定した内部イメージが見つかりませんでした。
また、ブラウザ コンソールに 400 Bad リクエストが表示されます。
これを修正する方法は?サーバーパスの構成に依存する可能性があると言われました。私が使用しているTimthumbのバージョンは次のとおりです:2.8.10
私は Timthumb を使用して、WordPress ブログの写真をリサイズしています。ローカル マシンでは正常に動作していますが、リモート サーバー Timthumb にアップロードすると、次のエラーが返されます。
指定した内部イメージが見つかりませんでした。
また、ブラウザ コンソールに 400 Bad リクエストが表示されます。
これを修正する方法は?サーバーパスの構成に依存する可能性があると言われました。私が使用しているTimthumbのバージョンは次のとおりです:2.8.10
そのエラーが発生したのは、ファイルシステムの間違った場所でファイルを探していたためです。デバッグを有効にして、レベル 3 に設定します。このエラーが表示されているページを開きます。エラー ログをダウンロードします (スクリプトと同じディレクトリ)。試行するすべてのパスが表示されます。どこからでも出力dirname(__FILE__)
できます。必要な実際のパスが表示されます。timthumb-config.php
asに追加します。
$_SERVER['DOCUMENT_ROOT'] = '/home/username/public_html';
例として、これを行う必要がありました(phpタグでラップ)。以前は何かを使用してい/bin/usr/htdocs
ましたが、詳細が多すぎます!
関数の 850 行あたりに、次のgetLocalImagePath
ように追加します。
$src = str_replace ( "~username/" , "" , $src );
username
これはオプションです。別のものに置き換えてください。
htaccess マジックを使用しているため、 TimThumb/files/2012/02
ではなく画像にアクセスする別のケースは/wp-content/uploads/2012/02
、これを外部 URL として扱う場合にうまく機能します...しかし、それは内部 URL として扱われ、そのように設定された画像が見つかりません。それに応じて docroot を作成し、前述の置換ハックを使用する必要がある場合があります。
Wordpress を使用しているという事実を隠すために、.htaccess を微調整しています。timthumb 2.8.11 で。
後
$this->localImage = $this->getLocalImagePath($this->src);
私はこのコード行をハデッドしました
$this->src = str_replace('/file/', '/wp-content/uploads/', $this->src);
通常の WPwayの/file/は/wp-content/uploads/ のはずです。