问题标签 [php-5.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2061 浏览

php - 从文件描述符中获取文件指针

在 PHP 5.2.3 中,“fdopen”用于读取/写入由另一个应用程序打开的文件描述符。

将 PHP 升级到 5.3.2 后,它会抛出“ undefined reference to 'fdopen' function”。

请建议在 PHP 5.3.2 或任何解决方法中对此的替代品。

0 投票
1 回答
389 浏览

php - 将 PHPUnit 测试打包为 PHAR 存档?

是否可以将 PHPUnit 测试打包为PHAR存档,并使用 phpunit 运行它们?

我用以下脚本创建了一个 .phar:

但是当我尝试运行生成的存档时,如下所示:

我收到错误消息:

PHPUnit 不支持 PHAR 文件,还是我的构建脚本中缺少一个步骤?(这是我第一次尝试使用 PHAR)

0 投票
4 回答
1292 浏览

php - get_class 的 PHP 问题

我正在做一个 Zend 项目,自从我接触 Zend 以来已经超过 12 个月了,我的一个功能出现错误,我无法弄清楚原因,我认为这可能取决于最初构建的站点在早期版本的 PHP (5.2) 中,我现在正在运行 5.3。

函数看起来像这样,

错误信息如下,

get_class() expects parameter 1 to be object, array given in /server/app/lib/View.php on line 449

关于这个问题的任何建议都会很好。

0 投票
1 回答
498 浏览

php - DateTime 和 PHP 5.2 的问题

我正在尝试在具有 PHP 5.2.6 的 Solaris 服务器上使用 PHP DateTime 类,同时在运行 PHP 5.3 的本地 Windows 机器上进行测试。这是代码:

在测试服务器上,一切正常,打印如下:

在服务器上我需要使用它,但是,这是打印的:

删除 setDate 没有任何区别。

任何想法为什么会发生这种情况?

谢谢!

编辑

修改了脚本:

服务器上的新输出:

0 投票
3 回答
1000 浏览

php - 捕获 PHP 对象实例化错误

PHP 将无法实例化对象视为整个应用程序的致命错误(无法捕获),这让我非常恼火。我有一组对我的应用程序运行不是绝对必要的类——它们真的很方便。我有一个工厂对象,它试图实例化配置文件中指示的类变体。

此机制正在部署用于消息存储,并将支持多种存储类型:

  • DatabaseMessageStore
  • FileMessageStore
  • MemcachedMessageStore
  • 等等

一个MessageStoreFactory类将从配置文件中读取应用程序的首选项,实例化并返回相应类的实例。

在实例化周围添加一个条件可能很容易,以确保class_exists(),但MemcachedMessageStore扩展了 PHP 的Memcached类。因此,class_exists()如果没有安装 PHP 的 memcached 绑定,测试将会成功——尽管实例化会失败。

有没有其他方法可以测试一个类是否可以正确实例化?如果不能,我需要做的就是告诉用户哪些功能对他们不可用,但让他们继续使用该应用程序。

0 投票
2 回答
6924 浏览

php - Symfony 可以简单地重新加载页面请求吗?

我有一个应用程序接收来自另一个应用程序的请求。它检测查询字符串上的值,根据缓存值检查该值,如果它们不匹配,则需要清除其缓存并重新加载页面(建立新缓存)。不幸的是,我找不到告诉 Symfony 以完全相同的格式(协议、URI 路径、查询字符串等)重定向到当前页面的方法。我错过了什么?这一切都发生在isFirstCall().

谢谢。

0 投票
1 回答
233 浏览

symfony1 - 会话结束时是否有 Symfony 回调?

我有一个应用程序对过滤器中的外部服务器进行身份验证。在该过滤器中,我尝试使用 Symfony 的setAttribute()方法为用户设置几个会话属性:

我发现的是,如果我$_SESSION在设置属性后立即转储。另一方面,如果我调用getAttribute( 'myAttribute' ),我会准确地返回我输入的内容。

一直以来,我都假设读/写用户属性与读/写会话是同义词,但这似乎是一个不正确的假设。有时间问题吗?我没有收到任何非对象错误,因此用户似乎已完全初始化。

这里的断线在哪里?

谢谢。

更新

发生这种情况的原因是因为我有一些代码myUser::shutdown()清除了一堆东西。因为myUser它大致相当于 $_SESSION(至少在属性方面),所以我假设该shutdown()方法将在每个会话结束时调用。它不是。它似乎在每个请求结束时被调用,这就是为什么我的属性似乎从未被设置的原因。

不过,现在我想知道是否有会话关闭回调。有人知道吗?

0 投票
3 回答
8697 浏览

php - PHP 5.2 之前的 json_decode 的替代品

在 5.2 之前的 php 版本中使用 json_decode 函数是否有一个简单的替代方法?晚上这个时候我感觉很懒,还懒得更新php。干杯。

0 投票
3 回答
112 浏览

php - 如何以编程方式更改每个方法以返回 $this(预定义列表除外)?

我有一堂课:

}

是否可以修改模块类,所以方法 a()、b() 和 c() 返回 $this?我不想在每个函数中都写它。getAsArray() 应该返回它的作用。模块将是其他类的基础,我希望这种机制在基础中实现,但在继承类中使用它。

我想像这样使用它:

0 投票
2 回答
1668 浏览

php - 如何在 PHP 5.2 中以月+天计算人的年龄?

我之前问过这个问题并接受了答案,但现在我发现我们服务器上的 php 版本是 5.2 并且DateTime::diff()无法正常工作。

我想使用出生日期和给定日期计算人的年龄(以月加天为单位)。

日期格式输入: Ymd(例如:1986-08-23)

输出:

谢谢