スレッド表示 | フラット表示〕 全トピック 920 件中 667 番目 次≫ ≪前

windowsサーバーでsession使用時にwarning

created: 2004-03-07 01:55 | modified: 2004-03-09 02:53 | reply: 6

[1365] windowsサーバーでsession使用時にwarning

user: かずや | created: 2004-03-07 01:55
はじめまして。
sessionを使用した際にwarningがでます。
WindowsXPpro + Apache2 + PHP4(自サバ)

現象
Warning: open(/tmp\sess_085ccb6d63c23177b7eac59478a908ef, O_RDWR) failed: No such file or directory (2) in D:\www\public_html\session.php on line 5 Welcome to My page
1970 01 01 09:00:00

ソース
<?php
session_start();
echo 'Welcome to My page<br />';
echo $_SESSION['favcolor'];
echo $_SESSION['animal'];
echo date('Y m d H:i:s', $_SESSION['time']);
?>

これはレンタルサーバーだと使用できます。
しかし自サバだと動きません。
tmpもルートにディレクトリを作成しております。
php.iniの設定で何か原因ありそうですか?
初心者で、知識不足ですが、よろしくお願いいたします。
reply: 1366 返信 編集 削除

[1366] session.save_path

user: ゆうじ | created: 2004-03-07 02:18
はじめまして、こんばんは。

php.ini の セッションディレクディブで、
session.save_path がデフォルトのままなのではないでしょうか。


session.save_path = /tmp

コレを、Windowsらしく、

session.save_path = c:/tmp

こう書き換えると直ると思います。
Parent: 1365  reply: 1368 返信 編集 削除

[1368] Re.session.save_path

user: かずや | created: 2004-03-07 07:35
> はじめまして、こんばんは。
>
> php.ini の セッションディレクディブで、
> session.save_path がデフォルトのままなのではないでしょうか。
>
>
> session.save_path = /tmp
>
> コレを、Windowsらしく、
>
> session.save_path = c:/tmp
>
> こう書き換えると直ると思います。

はじめまして。
早速のご返信ありがとうございます。
php.iniを
session.save_path = c:/tmp
と書き直しましたが同じ現象が続きます。
またc:/tmp の中にはsessionで使用された
ファイルが残っておりますが、ファイルサイズは0バイトです。
(ファイル名はsess_4d8167ea436fbc8ee677004b99888f88
のようなものです)
なにか手がかりになるかと思いますが、どうなんでしょう?。
よろしくお願いいたします。
Parent: 1366  reply: 1369 返信 編集 削除

[1369] セッションが確立できてないかも

user: ゆうじ | created: 2004-03-08 00:53
私の環境(Win2000+Apache1.3.29+PHP4.3.4)では、
これで Warning がでなくなったのですが、
session.save_path を訂正しても同じ状態とは・・・。

Apacheの再起動はされましたよね。
(念のため確認です。)


エラー個所が、line 5 なので、
セッション変数を参照しようとした時に、
セッションファイルを見つけることが出来なかった、
ということなのだろうと思います。

セッションファイルのパス以外に問題があるとするならば、
セッションが確立されてないのかも知れませんね。

問題のソースをリロードするたびに、
c:\tmp 内にセッションファイルが増えつづけたりしてませんか。
Parent: 1368  reply: 1370 返信 編集 削除

[1370] PHPのソース

user: かずや | created: 2004-03-08 01:27
> 私の環境(Win2000+Apache1.3.29+PHP4.3.4)では、
> これで Warning がでなくなったのですが、
> session.save_path を訂正しても同じ状態とは・・・。
>
> Apacheの再起動はされましたよね。
> (念のため確認です。)
>
>
> エラー個所が、line 5 なので、
> セッション変数を参照しようとした時に、
> セッションファイルを見つけることが出来なかった、
> ということなのだろうと思います。
>
> セッションファイルのパス以外に問題があるとするならば、
> セッションが確立されてないのかも知れませんね。
>
> 問題のソースをリロードするたびに、
> c:\tmp 内にセッションファイルが増えつづけたりしてませんか。

Apacheの再起動はしております。
c:\tmp 内のセッションファイルはリロードしても増えておりません。
ブラウザを閉じてから、再度呼び出すことで、セッションファイルは増えました。しかしファイルサイズは0バイトです。
そして肝心なことなのですが、phpのソースを改行の部分を割愛して、書いておりました。実際のソースですが、

<?php
// page2.php


session_start();

echo 'Welcome to My page<br />';

echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
?>

で、session_start(); がline5に当たります。
ちなみに、php.iniのsessionの部分は
session.save_path = c:/tmp
に変更しただけです。
なぜなんでしょう?(?_?)

p.s. ゆうじさん返信ありがとうございます。
Parent: 1369  reply: 1375 返信 編集 削除

[1375] 自信ありませんが

user: ゆうじ | created: 2004-03-09 00:49
いやあ、何が原因でしょう。
わかりませんね。

あまり自信がありませんが、
試しにスクリプトのはじめに、

session_save_path('C:/tmp');

を挿入するとどうでしょう。
これで解決するようなら、
php.iniが反映されてないということになります。
C:\WINNT\php.ini を編集してください。


ところで、PHPのバージョンはいくつでしょう。
PHP4でも仕様変更が頻繁に行なわれてましたので。
Parent: 1370  reply: 1378 返信 編集 削除

[1378] 解決しました。ありがとうございます。

user: かずや | created: 2004-03-09 02:53
C:\WINDOWS\php.iniにあるphp.iniを編集しておりませんでした。
当方PHPDEV4のパッケージでインストールしたので、そちらのフォルダにあるphp.iniファイルを編集して、apacheを再起動しておりました。これでは反映されないですよね。
WINDOWSフォルダのものを編集する必要がありました。
ゆうじさんどうもありがとうございました!
Parent: 1375  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 667 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑