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

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

  • このトピックには10件の返信、3人の参加者があり、最後にxdにより9年、 10ヶ月前に更新されました。
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さん
    私も同じ症状に悩まされましたが、フォーラムの過去の問い合わせに解決法がありました。
    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を見てて試したらうまくいきました。
    >
    > 同じ症状出てる方試してみてください。

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

    #70852
    xd
    参加者

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

11件の投稿を表示中 - 1 - 11件目 (全11件中)
  • このトピックに返信するにはログインが必要です。