wpXサーバー移転後PDF印刷で書き込みエラーが出る

2014 年 5 月 27 日

ホーム フォーラム 使い方全般 wpXサーバー移転後PDF印刷で書き込みエラーが出る

このトピックには10件の返信が含まれ、3人の参加者がいます。3 年、 3 ヶ月前 xd さんが最後の更新を行いました。

11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • 投稿者
    投稿
  • #70409

    xd
    参加者

    ——————————————-
    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.
    #70561

    nanbu
    参加者

    こんにちは。

    パーミッションの問題かと思います。

    /tmp が無い、もしくは作成書き込みができないと言っているのではないかと思います。

    #70648

    xd
    参加者

    パーミッションが原因ということで調べています。

    > /tmp が無い、もしくは作成書き込みができない

    ということなのですが、PDFが一時書き込みされる「/tmp」フォルダというのはWelcartプラグインのフォルダのどこかにできるのでしょうか?
    探してみたのですが存在しないようです。あるいはその都度作成され、消去されるのでしょうか?

    #70711

    nanbu
    参加者

    wpX のキャッシュを止めるとどうなるでしょうか。

    #70713

    xd
    参加者

    wpXのキャッシュは無効にしてあり、プラグインもキャッシュ系のものは使っておりませんが、エラーが出ます。
    PHPでファイルの書き込みは普通にできています。

    他に確認すべきことはあるでしょうか?
    「tmp」がないということらしいのですが、手動でフォルダを作ったらどうなるか?と思っています。しかし、「tmp」がどこに作られるかが分かりません。

    どうしても修正したいです。

    #70722

    nanbu
    参加者

    サーバーのルートにtmp ディレクトリが無いですか?
    webから書き込みができるようにパーミッションを設定してみて下さい。判らないようでしたら、サーバー会社に問い合わせてみて下さい。

    #70725

    xd
    参加者

    サーバーのルートにtmp ディレクトリはありませんでした。
    ルートのtmp ディレクトリというのは、ワードプレスのトップディレクトリとは違いますか?

    ロリポップで印刷できていたサーバーをFTPでみたのですが、こちらもサーバーのルートとワードプレスのトップディレクトリにtmpディレクトリはありませんでした。

    tmpディレクトリはこんな感じで作って、phpでスクリプトを組んでtmpフォルダにファイルが書き込めるか確認すればよいですか?

    /wp-admin
    /wp-content
    /wp-includes
    /tmp

    #70726

    xd
    参加者

    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」が作られる場所をユーザー権限がある場所に書き換えるしかない? ようですね。

    #70798

    nanbu
    参加者

    tcpdf のキャッシュ用のフォルダを変更できるかどうか、こちらでも一度確かめてみようと思います。

    #70828

    j238
    参加者

    > xdさん
    私も同じ症状に悩まされましたが、フォーラムの過去の問い合わせに解決法がありました。

    バージョンアップしたらpdf印刷画面が白紙(500エラー)

    一応抜粋しておきます。
    > 自分も同じ症状でましたが、改善したので手順を書いておきます。
    >
    > wp/wp-content/plugins/usc-e-shop/pdf/tcpdf
    > の中にcacheというフォルダをパーミッション777で作成して解決しました。
    >
    > tcpdf_config.phpを見てて試したらうまくいきました。
    >
    > 同じ症状出てる方試してみてください。

    私もこの方法で解決しました。

    #70852

    xd
    参加者

    おおおおおおおっできたああああ!
    ありがとうございました。これで納品書が印刷できるようになりました!m(_ _)m

11件の投稿を表示中 - 1 - 11件目 (全11件中)

このトピックに返信するにはログインが必要です。