繁体   English   中英

PHP 会话不为随机用户保存

[英]PHP Sessions Not Saving for random users

我目前正在 PHP 5.6 上运行一个项目,因为该项目在旧的 PHP 代码上运行。 我目前有一个问题,随机用户无法保留他们的会话。

例如,用户正在登录并且他们的会话立即被取消设置。

我已经尝试了我所知道的一切来解决这个问题: - 检查我的配置文件调用会话启动 - 检查 SSL 不会导致会话取消设置 - 将所有会话未设置命令与数据库功能设置为一分钟评论 - 检查 htaccess 文件没有运气 - 双重检查的用户正在访问http://www 或仅 http://(不是一个然后另一个) - 检查 cookie 没有被用户浏览器阻止 - 检查 Adblock 插件没有干扰。

我相信可能是我的 htaccess 文件导致了问题,但我不是这些方面的专家,我将我的 htaccess 文件代码放在下面

Options -Indexes

# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico

  RewriteRule ^([^/]+)$ index.php?p=$1 [L,QSA]
  #RewriteRule ^(.*)$ V2/$1 [L,QSA]
</IfModule>

<IfModule mod_rewrite.c>
 RewriteEngine on 
 RewriteCond %{REQUEST_FILENAME} !-d 
 RewriteCond %{REQUEST_FILENAME}\.php -f 
</IfModule>

<IfModule php5_module>
   php_flag asp_tags Off
   php_flag display_errors Off
   php_value max_execution_time 90
   php_value max_input_time -1
   php_value max_input_vars 1000
   php_value memory_limit 64M
   php_value post_max_size 20M
   php_value session.gc_maxlifetime 1440
   php_value session.save_path ".cagefs/var/cpanel/php/sessions/ea-php56"
   php_value upload_max_filesize 2M
   php_flag zlib.output_compression Off
</IfModule>

RewriteEngine On

ErrorDocument 400 /V2/404

ErrorDocument 401 /V2/404

ErrorDocument 403 /V2/404

ErrorDocument 404 /V2/404

ErrorDocument 500 /V2/404

RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR]
RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR]
RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR]
RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR]
RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR]
RewriteCond %{HTTP_USER_AGENT} ^HMView [OR]
RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR]
RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR]
RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR]
RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR]
RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^SpiderWeb [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR]
RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR]
RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR]
RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR]
RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR]
RewriteCond %{HTTP_USER_AGENT} ^Widow [OR]
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/php
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

# 1 YEAR
<FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>

# 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf|PNG|js|css)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>

# 3 HOUR
<FilesMatch "\.(txt|xml|php|html|zip)$">
Header set Cache-Control "max-age=10800"
</FilesMatch>

# NEVER CACHE - notice the extra directives
<FilesMatch "\.(htm|cgi|pl)$">
Header set Cache-Control "max-age=0, private, no-store, no-cache, must-revalidate"
</FilesMatch>

<files *.php>
SetOutputFilter DEFLATE
</files>

有没有人知道这可能出现的问题?

错误日志文件

    [04-Feb-2020 21:43:43 UTC] PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/sitename/public_html/panel/_inc/db.inc.php on line 11
[04-Feb-2020 21:43:43 UTC] PHP Deprecated:  mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /home/sitename/public_html/panel/_inc/db.inc.php on line 11
[04-Feb-2020 21:43:43 Europe/London] PHP Warning:  simplexml_load_file(http://...@andromeda.shoutca.st:8619/admin.cgi?mode=viewxml&amp;page=1&amp;sid=1): failed to open stream: Connection refused in /home/sitename/public_html/V2/index.php on line 260
[04-Feb-2020 21:43:43 Europe/London] PHP Warning:  simplexml_load_file(): I/O warning : failed to load external entity &quot;http%3A%2F%2Fadmin%3ASrM%7BO%29-%29O0O8%40andromeda.shoutca.st%3A8619%2Fadmin.cgi%3Fmode%3Dviewxml%26page%3D1%26sid%3D1&quot; in /home/sitename/public_html/V2/index.php on line 260
[04-Feb-2020 21:43:43 Europe/London] PHP Warning:  simplexml_load_file(http://...@andromeda.shoutca.st:8619/admin.cgi?mode=viewxml&amp;page=1&amp;sid=1): failed to open stream: Connection refused in /home/sitename/public_html/V2/index.php on line 260
[04-Feb-2020 21:43:43 Europe/London] PHP Warning:  simplexml_load_file(): I/O warning : failed to load external entity &quot;http%3A%2F%2Fadmin%3ASrM%7BO%29-%29O0O8%40andromeda.shoutca.st%3A8619%2Fadmin.cgi%3Fmode%3Dviewxml%26page%3D1%26sid%3D1&quot; in /home/sitename/public_html/V2/index.php on line 260

不要相信 simplexml_load_file 错误是问题所在,因为这是一个广播服务。 目前我的shoutcast 主机有问题,所以等待对它们进行排序(这不会导致会话未设置)

我知道 PHP 正在贬低 MYSQL 连接,这就是该项目在 PHP 5.6 上运行的原因

先感谢您!

您似乎正在使用非常便宜的多租户托管 - 在这里诊断任何东西都非常困难。 您的 htaccess 文件显示您的环境具有非常宽松的控制。

我们无法回答为什么您的会话失败的问题,但是您提供的信息中没有任何内容可以证明会话失败。 您接下来的步骤是:

1) 修改代码和日志记录,以便您可以跟踪行为 - 例如,通过删除随机持久性 cookie 并记录该 cookie 和会话 ID。 您还可以将有关会话状态的 PHP 代码环境变量注入回 Apache 以进行日志记录。

2)停止使用默认处理程序 - 您无法看到/控制它的行为方式。 还有很多其他可用的(我建议使用基于 MySQL 的)并在那里添加检测。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM