wpXサーバー移転後PDF印刷で書き込みエラーが出る
-
投稿者投稿
-
2014年5月27日 3:09 PM #70409xd参加者
——————————————-
WordPress のバージョン:3.9.1–ja
Welcart のバージョン:1.3.17
ご利用のテーマ:オリジナル
症状を確認したブラウザ:FireFox 27.0.1 、Chrome 35.0.1916.114 m
サーバー(会社名、サービス名):wpXサーバー
SSLの利用: なし
WordPress のパーマリンク設定:デフォルト
——————————————-ロリポップからwpXサーバー移転後、もうひとつエラーがありました。
納品書の印刷をしようとすると以下のようなエラーが出ます。
サーバーパスは少し変えていますが、フォルダにキャッシュファイルが書き込みができないというような感じのエラーとなっています。Warning: tempnam(): open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/home/user/hoge.com/) in /user/hoge.com/public_html/wp-content/plugins/usc-e-shop/pdf/tcpdf/tcpdf.php on line 25372
TCPDF ERROR: Unable to write cache file:因みにプラグインは新規にインストールしているので、フォルダの作成はインストール時の自動で作成された状態のままです。これはwpXのキャッシュ機能が原因なのでしょうか?
Attachments:
You must be logged in to view attached files.2014年5月30日 5:04 PM #70561nanbuキーマスターこんにちは。
パーミッションの問題かと思います。
/tmp が無い、もしくは作成書き込みができないと言っているのではないかと思います。
2014年6月3日 11:49 AM #70648xd参加者パーミッションが原因ということで調べています。
> /tmp が無い、もしくは作成書き込みができない
ということなのですが、PDFが一時書き込みされる「/tmp」フォルダというのはWelcartプラグインのフォルダのどこかにできるのでしょうか?
探してみたのですが存在しないようです。あるいはその都度作成され、消去されるのでしょうか?2014年6月7日 3:17 PM #70711nanbuキーマスターwpX のキャッシュを止めるとどうなるでしょうか。
2014年6月7日 3:25 PM #70713xd参加者wpXのキャッシュは無効にしてあり、プラグインもキャッシュ系のものは使っておりませんが、エラーが出ます。
PHPでファイルの書き込みは普通にできています。他に確認すべきことはあるでしょうか?
「tmp」がないということらしいのですが、手動でフォルダを作ったらどうなるか?と思っています。しかし、「tmp」がどこに作られるかが分かりません。どうしても修正したいです。
2014年6月7日 3:58 PM #70722nanbuキーマスターサーバーのルートにtmp ディレクトリが無いですか?
webから書き込みができるようにパーミッションを設定してみて下さい。判らないようでしたら、サーバー会社に問い合わせてみて下さい。2014年6月7日 4:18 PM #70725xd参加者サーバーのルートにtmp ディレクトリはありませんでした。
ルートのtmp ディレクトリというのは、ワードプレスのトップディレクトリとは違いますか?ロリポップで印刷できていたサーバーをFTPでみたのですが、こちらもサーバーのルートとワードプレスのトップディレクトリにtmpディレクトリはありませんでした。
tmpディレクトリはこんな感じで作って、phpでスクリプトを組んでtmpフォルダにファイルが書き込めるか確認すればよいですか?
/wp-admin
/wp-content
/wp-includes
/tmp2014年6月7日 4:35 PM #70726xd参加者Warning: tempnam(): open_basedir restriction in effect.
File(/tmp) is not within the allowed path(s): (/home/user/hoge.com/) in /user/hoge.com/public_html/wp-content/plugins/usc-e-shop/pdf/tcpdf/tcpdf.php on line 25372
TCPDF ERROR: Unable to write cache file:今気が付いたのですがtmpが作られる場所がエラーのように
/home/user/hoge.com/
とすると、実際にユーザーが操作できるフォルダは「public_html以下」となっています。
/user/hoge.com/public_html/
権限が認められているのが「public_html以下」なので、この場合はどうにもならないようですね。
wpXの管理画面でもいじれそうもありません。
ロリポップの場合はメインのアカウントがあって、ドメインを追加するとその下にフォルダを作る仕様だったので、ユーザー権限が及んでいたのかもしれません。あまりやりたくないですが、プラグインを改造して「tmp」が作られる場所をユーザー権限がある場所に書き換えるしかない? ようですね。
2014年6月12日 5:42 PM #70798nanbuキーマスターtcpdf のキャッシュ用のフォルダを変更できるかどうか、こちらでも一度確かめてみようと思います。
2014年6月13日 10:08 PM #70828j238参加者> xdさん
私も同じ症状に悩まされましたが、フォーラムの過去の問い合わせに解決法がありました。
https://www.welcart.com/community/forums/topic/%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B3%E3%82%A2%E3%83%83%E3%83%97%E3%81%97%E3%81%9F%E3%82%89pdf%E5%8D%B0%E5%88%B7%E7%94%BB%E9%9D%A2%E3%81%8C%E7%99%BD%E7%B4%99%EF%BC%88500%E3%82%A8%E3%83%A9#post-69886一応抜粋しておきます。
> 自分も同じ症状でましたが、改善したので手順を書いておきます。
>
> wp/wp-content/plugins/usc-e-shop/pdf/tcpdf
> の中にcacheというフォルダをパーミッション777で作成して解決しました。
>
> tcpdf_config.phpを見てて試したらうまくいきました。
>
> 同じ症状出てる方試してみてください。私もこの方法で解決しました。
2014年6月16日 4:15 PM #70852xd参加者おおおおおおおっできたああああ!
ありがとうございました。これで納品書が印刷できるようになりました!m(_ _)m -
投稿者投稿
- このトピックに返信するにはログインが必要です。