WAMP を使う場合に困ることがあります。PHPの関数が、windows と Linux などで異なるのです。異なる関数の一覧表はあるのでしょうか? あったら教えてください(ない場合には回答は不要です。)XAMPP あたりにあると思われますのでよろしくお願いします。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2008/11/25 17:50:12
  • 終了:2008/12/02 17:55:03

回答(4件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/11/25 18:30:40

ポイント27pt

具体的にどのようなレベルの違いでお困りでしょうか。


たとえば、COM関数などWindows固有の機能を使うシリーズは公式マニュアル「Windows 用のモジュール」に説明があります。

また、chmod関数のように、OS の違いによって挙動が異なるものもあります。

id:isogaya

OSにより挙動の違うものや、Linux にはあるけど、Windows にはないものです。WAMP でつくったものを Linux 上にあげるので、異なると困るのです。

2008/11/26 11:04:42
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/11/26 11:49:02

ポイント27pt

「WAMP でつくったものを Linux 上にあげる」のでしたら、「Linux にはあるけど、Windows にはないもの」ではなく、「Windows にはあるけど、Linux にはないもの」をピックアップすべきではないかと思います。その意味では、まずは、#1でご紹介した「Windows 用のモジュール」をご覧になってください。


WindowsにもLinuxにも存在している関数の場合、OSによる挙動の違いによって仕様が変わるという関数は、ほとんど無いと思います。むしろ、アプリケーションの書き方に注意する必要があります。

たとえば、パスの区切り文字の違い('¥'と'/')、ファイル属性の違い、文字コードの違い、プロセス管理の違い、など、OSの違いに起因するものです。


私も WAMP 環境で開発して Linux にアップすることがありますが、WindowsとLinuxの違いが発生する処理については、以下のように定数 PHP_OS によって分岐するようにしています。

if (constant('PHP_OS') == 'WINNT') {
  WAMP向け処理
} else {
  LAMP向け処理
}

※設定された回答回数の上限になりました。さらにフォローが必要でしたら、コメント欄を開けていただくか、回答回数を増やしてください。

id:isogaya

ありがとうございました。Linuxにはあるけど、Windows にないのも困ります。サーバ上でつくったのをもってくるときに、困ります。対比というか一覧あったらお願いします。回答数制限ははずしました。

2008/11/26 13:03:36
id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332008/11/26 13:20:57

ポイント26pt

isogaya > ようするにいったりきたりです

こういう開発手法では管理が煩雑になってしまうと思うのですが――それはともかく、LAMP⇒WAMPへの移植に際しての注意事項は、マイクロソフトの「Linux から Windows 2000 へのスクリプトの移植性」が参考になります。

ApacheとIISの違いによるものが多いので、ご質問の状況で問題になるのは mail 関数くらいではないでしょうか。

id:isogaya

setlocale も違いあるようです。smartyでの日付関数の動きがちがったりします。

2008/11/26 16:18:23
  • id:isogaya
    作業としては、サーバ上にあるのをダウンロードして、手元のパソコンで作業してまた戻すことも多いです。はじめから、手元のパソコンで作業はじめることもあります。ようするにいったりきたりです。
  • id:isogaya
    PHP の locale についてはここが詳しいです。
    http://jo1upk.blogdns.net/saito/?PHP/%E5%9B%BD%E9%9A%9B%E5%8C%96/locale

    EUCの場合にはこのように書くといいようです。
    setlocale(LC_ALL,'Japanese_Japan.20932');


この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません