【问题标题】:.html page not loading PHP sessions.html 页面未加载 PHP 会话
【发布时间】:2017-08-29 16:59:52
【问题描述】:

我正在使用 directadmin 的 custombuild 2.0,安装了 php-fpm 5.6 版和 mod_php 5.5 版。

用 5.5 运行 php 没有问题,但是切换到 php-fpm 5.6,我在 html 页面上的会话有问题。

发现 session_start() 或在 htaccess 中使用 addhandler htaccess 没有问题。 PHP 代码在 html 页面中运行良好。

两个相同的页面,除了文件扩展名(.php 和 .html)。 .php 文件适用于会话。 .html 文件没有。它似乎在apache用户下运行,而php文件在当前域用户下运行。这就是由于 session.save_path 中声明的目录/文件夹的所有权错误而无法访问会话的原因。

在 .html 文件中打印 php_ini_loaded_file() 显示:“/usr/local/lib/php”。 在 .php 文件中打印 php_ini_loaded_file() 会显示 custombuild 2.0 附带的正确 php 5.6 php.ini。

怎么可能只在 html 文件中加载了错误的 php.ini?除了文件扩展名之外,这两个文件(html 和 php)完全相同。

非常欢迎您的帮助!

【问题讨论】:

  • .html 文件不会处理 PHP,除非您特意启用它。你这样做了吗?
  • 您需要指示您的服务器将.html 文件视为php。
  • @Fred-ii- 不确定这是否是个好主意...
  • @arkascha 这是一个选项。那,或者他们需要将它们全部重命名为 .php 或者使用 ajax 或 iframe。
  • “当前域用户”是什么意思?

标签: php html session


【解决方案1】:

好的,找到解决我的会话问题的方法。

我在 php-fpm56.conf 中强制 php-fpm56 使用 apache 用户、所有者和组,如下所示:

user = apache
group = apache
listen.owner = apache
listen.group = apache

这样 html 和 php 页面都可以与用户 apache 一起使用,因此没有权限或所有者问题。

这绝不是 php-fpm 想要的方式,但现在可以。

感谢大家的意见。

【讨论】:

  • 删除了我之前制作的一些cmets,因为可能包含敏感信息。反正他们没有贡献。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-06
相关资源
最近更新 更多