バージョン選択

フォーラム

メニュー

オンライン状況

52 人のユーザが現在オンラインです。 (46 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 52
もっと...

サイト内検索

質問 > その他 > CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tonton
投稿日時: 2010/4/5 15:21
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
お世話になっております。

CPIの専用サーバ(パーミション預かり)にて、契約しているサーバに、EC-CUBEを設置しています。(mySQL/php:5.24/コミュ版使用です)

以前のおかしかった動作などは、一通り修復したのですが、現在良くわからない問題が2つほど残っていて、ゴソウダンさせてください。

1つ目は、パーミションエラーについてです。
管理画面/デザイン管理から、ページ詳細設定などの新規作成や編集を行うと、生成されるファイルのパーミションが、666となり、ページのPHPは、全てCGI実行エラーを吐き出してしまいます。
生成後、FTPアクセスして、パーミションを644に直せば、ページは表示されるようになるのですが、今後運用時に同じようにエラーが返ってくると困ることもありますので、修復したいのですが、このような時は、どうすればいいものでしょうか?
サーバ側の設定の問題としてCPIサポートに依頼をすべきか、それともEC-CUBE内のいずれかのファイルとの愛称などの問題でしょうか?(ちなみに別のサーバでテスト用に同期を取っているものは、通常通り動作していますが・・・)

同じくデザイン管理についてなのですが、特に上記と同じページ詳細設定で、ですが、時々、プロセスが滑っているのか、登録をするボタンのクリック後、登録できた旨のメッセージは出るのに、実際にファイルが更新されていないようなことが、あります。

現象を見ていると、サーバ側の問題のような気もしなくはないのですが、どこが、どう、問題、とわからなくて、悩んでいます。

どなたか、同様の現象にあわれた方、原因がお分かりの方がいらっしゃいましたら、アドバイスいただけませんでしょうか。

よろしくお願いします。
longman
投稿日時: 2010/4/5 16:31
対応状況: −−−
常連
登録日: 2010/2/23
居住地:
投稿: 48
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
私は手動で更新してますが

LC_Page_Admin_Design_MainEdit.php
の195行目付近に下記を足せばいけるんじゃないですかね?
chmod($cre_php, 644);
tonton
投稿日時: 2010/4/9 0:04
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
longman様

今回もご回答いただいてありがとうございます。
ご確認が遅くなり、大変失礼しました。

試してみたのですが、上記では、今回は、うまくいきませんでした。
コミュ版では、この部分のソースの編成が少し違うので、該当箇所を探しながら、いくつかソースを変えて、もう少しやってみています。(進捗ありましたらご報告したします!)

サーバ側で、PHPの実行ユーザから新規ファイルの生成が行なわれた場合に、パーミションが666になってしまうため、動作不良にはつながらない部分でも、テンプレートファイルの生成やその他のところでも、いくつか同様の現象が発生しそうな気がします。
都度FTPでアクセスしてパーミションを修正する(またはファイルの更新は全てFTPで行なう)というのも、EC-CUBEの運用では実用的でないような気がしますので、なんらか対応方法がないか探っています。

サーバのほうの設定で、PHPの実行ユーザから新規ファイルの生成が行なわれた場合に、パーミションが644になるように設定することはできないものでしょうか?

CPIのサポートのほうでは、この問題は、EC-CUBEの問題なので、サポート外といわれましたが、この現象では今ひとつサポートの回答に全体的に腑に落ちないところを感じています。
自分もそれほど詳しいわけではないので、こういう現象をどちらの問題として区分けするのが一般的なのかは、よくわからないのですが、ただ、サーバの設定が、「PHPの実行ユーザからphpやcgi、tplなどの新規ファイルの生成が行なわれた場合に、パーミションがどうなる設定になっているか、それがCGIの実行権限と矛盾している場合に、それが正しいのかどうか」といった回答はあってよいのでは、と思っているのですが・・・
longman
投稿日時: 2010/4/9 11:42
対応状況: −−−
常連
登録日: 2010/2/23
居住地:
投稿: 48
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
正式版2.4.3ですが

/data/class/pages/admin/design
にある
LC_Page_Admin_Design_MainEdit.php
のlfCreatePHPFile内で(420行目付近)


// phpファイルの作成
$fp = fopen($path,"w");
fwrite($fp, $php_data);
fclose($fp);

となっているものを

// phpファイルの作成
$fp = fopen($path,"w");
fwrite($fp, $php_data);
fclose($fp);
chmod($path, 0644);

と一行追記する事で動作確認できました。

ちなみに、これはサーバー側に対応を求める問題ではないですよ。
Masashige
投稿日時: 2010/4/9 11:50
対応状況: −−−
長老
登録日: 2009/4/1
居住地:
投稿: 200
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
古い記憶なんでアレですが、昔CPIでchmod()が使えなくて
EC-CUBEのインストール時に泣きながらFFFTPで権限変えた
記憶が…。

プラン等も違うかと思いますが、一度EC-CUBE抜きでchmod()
試した方がいいかもです。
tonton
投稿日時: 2010/4/9 19:02
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
longman様

再度レス頂き、本当にありがとうございます!

なるほど、これはサーバ側に対応を求める問題ではないのですね。。。
サーバ環境に依存するものは、サーバ側の設定で変更してもらえるものと思っていました。(ルート権限預かりの専用サーバサポート月プランとあったので・・・)

では、こちらからCPIに依頼した調査その他は、失礼な内容だったのかも知れませんね・・・
ふーむ。

アドバイスいただいたコードの追加は、既に試しておりましたが、変化はありませんでしたので、Masashigeさんのおっしゃるように、CPIサーバでは、chmod()が効かない(もしくはプログラムの実行ユーザにその権限がない)のかもしれません。
もしくは、コミュ版では、もう少し別の箇所も関係するとかいうことがあるのかもしれません。

いずれにせよ、現象の発生する原因はわかったので、もう少しだけコードと修正箇所を変えてテストしてみようと思います。
(今のところ全滅です;;;)


Masashige様

>古い記憶なんでアレですが、昔CPIでchmod()が使えなくて
>EC-CUBEのインストール時に泣きながらFFFTPで権限変えた
>記憶が…。

なるほど。
有益な情報ありがとうございます。


総合すると、CPIサーバの仕様ということで、運用については、手動でFTPアクセスでパーミション変更しながら対応し、それが気に入らなければ、サーバを別の会社に契約するしかない、ということなのかもしれませんね...

お二方とも、有益な情報をありがとうございました!!
homan
投稿日時: 2010/4/10 19:10
対応状況: −−−
仙人
登録日: 2007/7/2
居住地: 宮崎県宮崎市
投稿: 633
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
全然参考になるようなお話ではないと思いますが、
そもそも666で書き出されるということは、
必ずどこかでパーミッションの設定をしているはず・・・・・・ですよね、、?

そこを見つけて変更できれば解決するのかなぁと
ふと思ってしまいました。

そんな単純な話じゃないんでしょうか


----------------
このコミュニティでの投稿はボランティアの範囲に留めさせていただいています。個別の相談やカスタマイズは有償にて承っておりますのでご相談下さい。

[url=http://www.eccube-school.jp/]EC-CUBE

tonton
投稿日時: 2010/4/12 17:23
対応状況: −−−
仙人
登録日: 2008/8/14
居住地:
投稿: 437
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
homan様

レスありがとうございます。

>そもそも666で書き出されるということは、
>必ずどこかでパーミッションの設定をしているはず・・・・・・ですよね、、?

EC-CUBE側のソースを追ってみているのですが、該当部分では、特に書き出し時に666にパーミション設定するような記述は見当たりません。
なので、私も通常なら、644で書き出されるはずで、別の会社のサーバの場合は、644で書き出されているので、666で書き出されるのは、CPIのサーバ側の設定でそうなっているからでは?と思い、問合せしたのですが、CPIのほうでは、EC-CUBE側の問題と言われて、ノーサポートという返答しかもらえませんでした。

解決策としては、仕様ということで飲み込んで、手動でFTPで都度パーミション変更するか、EC-CUBE側のソースで、明示的にパーミション設定するか、と言うことになるのでしょうが、EC-CUBEのソース側(コミュ版です)で該当箇所と思われる箇所または代替で処理できそうな場所にchmod()をかませて見ているのですが、パーミションは変更されないのです。
私の記述のどこかが間違っているのか(この可能性が一番怪しい;)CPIのサーバでは、chmod()が効かないかのどちらかだと思います。

自分で選定するなら、サーバの仕様を色々見ていると、CPIは使わないだろうなと思いますが、こちらは、既に別システムで運用しているサーバで、今からサーバの変更を言い出すのは、ちょっと難しいので・・・

悩む・・・デス。
longman
投稿日時: 2010/4/12 17:30
対応状況: −−−
常連
登録日: 2010/2/23
居住地:
投稿: 48
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
chmod自体は使えましたか?

eccubeとは別に試してみて下さい。
seasoft
投稿日時: 2010/4/13 0:01
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: CPIのサーバで、EC-CUBEから生成されるファイルのパーミションがおかしい?
斜め読みでレスします。全く無関係かもしれませんし、既にご確認済みかもしれませんが・・・

http://php.net/manual/ja/function.umask.php 辺りは関与しないでしょうか?


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

(1) 2 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,722名です
総投稿数は109,953件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.