php 或浏览器无法识别 PDO 中的“->”

Posted

技术标签:

【中文标题】php 或浏览器无法识别 PDO 中的“->”【英文标题】:php or browser unable to recognize "->" in PDO 【发布时间】:2012-09-30 18:02:55 【问题描述】:

我有这个来自互联网的代码:

<?php
session_start();
require("authen/inc/mysql.php");
require("authen/inc/Membership.class.php");
$Member = new Membership($DBH);
require("authen/inc/membership.php");

//test user permissions
if(!$Member -> test_perms(2))

    //No perms, echo error or forward or something
    die("You do not have permissions to view this page!<br>");

include("authen/inc/menu.php");
?>

它在我的一台网络服务器上完美运行。所以我使用 scp 将所有内容复制到另一个网络服务器,但现在我收到了这个奇怪的错误:

test_perms(2)) //没有权限,回显错误或者转发什么的死("你没有权限查看这个页面!

"); 包括("authen/inc/menu.php"); ?>

在我看来,这个网络服务器或浏览器没有正确解释“->”,因为它认为它是 html 的一部分而不是 PDO 符号。

我该如何解决这个问题?

谢谢

【问题讨论】:

检查两个网络服务器上使用的 php 版本,以及它是否正确安装在第二个网络服务器上。 所以问题可能出在您的服务器上,而不是代码上! 另外,浏览器不解释 PHP。 :) 【参考方案1】:

这不是错误,而是您的 PHP 代码被发送到浏览器,而不是在服务器上执行。简单地说,服务器没有正确安装和配置 PHP。您只看到部分代码的原因是 -&gt; 被浏览器解释为关闭 HTML 标记。如果您查看原始源代码,您将看到整个 PHP 代码。

【讨论】:

感谢您的回答。我找到了该错误的原因。原因是我没有在我的 Apache2 配置上启用 .htaccess。我有 .htaccess 文件,但未在 Apache 上启用。奇怪的是,不工作的文件扩展名为 .html,即使没有启用 .htaccess,带 .php 的文件也可以工作。在我的 .htaccess 我有这个: AddType application/x-httpd-php .html .htm

以上是关于php 或浏览器无法识别 PDO 中的“->”的主要内容,如果未能解决你的问题,请参考以下文章

PHP/PDO 错误:SQLSTATE[HY000] 无法连接:Adaptive Server 不可用或不存在(严重性 9)

PHP中的pdo

vs代码无法识别html中的php代码

php? PDO 或 mySQLi [重复]

windows7 无法启动 PDO、mysql PDO模块

PHP PDO 语句可以接受表名或列名作为参数吗?