1

サーバーでこのコードを実行しようとしています

<?php
session_start();
?>

次の警告メッセージが表示されます。私は前にそのような警告を見たことがありません。

Warning: session_start() [function.session-start]: open(/var/chroot/home/content/00/6684400/tmp/sess_uoouukt8m6efc0nc2ar5t2vq94, O_RDWR) failed: No such file or directory (2) in /home/content/00/6684400/html/html-tweetcomments/y.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/content/00/6684400/html/html-tweetcomments/y.php:2) in /home/content/00/6684400/html/html-tweetcomments/y.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/content/00/6684400/html/html-tweetcomments/y.php:2) in /home/content/00/6684400/html/html-tweetcomments/y.php on line 2

Warning: Unknown: open(/var/chroot/home/content/00/6684400/tmp/sess_uoouukt8m6efc0nc2ar5t2vq94, O_RDWR) failed: No such file or directory (2) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0

どうすればこの問題を解決できますか?

4

5 に答える 5

2

権限に問題があります。

tmpフォルダのアクセス許可を確認してください。書き込み可能にします。

Failed to write session data (files).

また、前にHTMLや空白がないことを確認してくださいsession_start()

于 2013-01-03T08:15:27.733 に答える
2

フォルダー/var/chroot/home/content/00/6684400/tmpが存在し、PHP によって書き込み可能であることを確認してください

sudo mkdir -p /var/chroot/home/content/00/6684400/tmp/
sudo chmod 1777 /var/chroot/home/content/00/6684400/tmp/

session_start()セッション ID を含む Cookie を設定します。HTTP プロトコルでは、Cookie は HTTP ヘッダーで送信されますSet-Cookie

出力 (PHP 警告を含む) を送信すると、これは HTTP 応答本文に書き込まれ、PHP はヘッダーを送信できなくなります。

HTTP 応答本文が最後に記述されるようにするにob_start()は、PHP スクリプトの最初に a を追加します。

これにより、スクリプトが最後に到達したときに出力に自動的にフラッシュされる出力バッファーが作成されます。

参考文献

于 2013-01-03T08:29:24.523 に答える
1

警告:session_start()[function.session-start]:セッションCookieを送信できません-ヘッダーは/ homeの(/home/content/00/6684400/html/html-tweetcomments/y.php:2で開始された出力)によってすでに送信されています2行目の/content/00/6684400/html/html-tweetcomments/y.php

session_start呼び出しの前に何かが出力されています。電話をかける前に、HTMLにエコーや空白がないか確認してください

于 2013-01-03T08:16:01.457 に答える
1

手がかりは最初のエラーです:

open(/var/chroot/home/content/00/6684400/tmp/sess_uoouukt8m6efc0nc2ar5t2vq94, O_RDWR)
failed: No such file or directory (2) 

セッション ファイル用に参照されているディレクトリが存在しないか、Web ユーザー (Web サーバーを実行しているユーザー) が書き込みできないようです。

  • ディレクトリが存在することを確認し、存在しない場合は作成します。
  • Web サーバーのユーザーが書き込み可能なグループであることを確認してください。

最初のエラーが残りのエラーの原因です。

于 2013-01-03T08:17:34.310 に答える
0

php コードの前に同じ出力がある場合は、php コードの後に​​移動します 例:

<script>
...javascript code... 
</script>
<?php
session_start();
?>

script タグを php タグの後に移動します。このような:

<?php
session_start();
?>
<script>
...javascript code... 
</script>
于 2013-01-25T12:01:41.457 に答える