问题标签 [php-5.3]
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.
php - 生产机器上的性能下降
在我的开发机器上,我的应用程序每次请求消耗了大约 4-6MB 的内存。切换到生产机器后,每个请求的这些数字高达 21+MB,速度没有任何改进(0.30 - 1.2 秒,我真的希望在我的生产机器上改进)。应用程序的某些部分(如数据库引导)在开发机器上使用了 271KB,在生产机器上使用了 2.5MB,所以我想知道这可能是什么原因。我的应用程序使用 Zend Framework 1.10.8 (MVC) 和 Doctrine 2.0beta4 ORM 和 PDO_MySQL 作为数据库适配器。
我的开发机器:Windows 7 32bit, 1.8GHz Dual Core, 2GB RAM, PHP 5.3.2, Apache 2.2.15, MySQLnd 5.0.7-dev (Zend Server CE)
我的生产机器:CentOS 5.5 64bit,2.66GHz 四核,8GB RAM,PHP 5.3.3,Apache 2.2.16,MySQL 5.1.48
此外,我并没有真正找到瓶颈,就像它是整个应用程序一样。请告诉我是否应该提供任何其他信息。
更新:
我在开发机器上使用的 Zend Server 启用了 Zend Optimizer+ 和 APC,我的系统管理员建议我应该使用 eAccelerator,所以我听从了他的建议。然而,在 phpinfo() 我看到这个:
这是否意味着它没有正确配置?
php - “数组链接”的最佳解决方案
对于我的项目,我编写了一个从 .ini 文件加载其数据的小型配置类。它覆盖了神奇的 __get() 方法,以提供对(只读)配置值的简化访问。
示例 config.ini.php:
我的配置类(单例模式 - 此处简化)如下所示:
加载配置将创建一个数组结构,如下所示:
可以通过执行访问数组的第一级,使用 访问Config::getInstance()->General
值Config::getInstance()->General['user']
。我真正想要的是能够通过执行Config::getInstance()->General->user
(语法糖)访问所有配置变量。该数组不是一个对象,并且没有在其上定义“->”,所以这只是失败了。
我想到了一个解决方案,并希望得到一些公众意见:
这将允许我链接我的配置访问。由于我使用的是 PHP 5.3,因此让 ConfigArray 扩展ArrayObject也是一个好主意(在 5.3 中默认激活 SPL)。
有什么建议、改进、意见吗?
csv - csv 与 php 的结合使用
我有一个要求,我需要使用 csv 文件来处理我的登录表单逻辑。csv 文件中的“A”列包含所有用户名,“T”列包含网站名称。现在用户通过输入他们的用户名登录,并且取决于我必须将他们重定向到在 T 列中输入的网站。我将如何使用 php 来完成这个?
csv - 密码保护 CSV 文件
我正在使用 csv 文件来验证用户登录。是否可以对 CSV 文件进行密码保护?我不希望任何人能够通过 url 下载 csv 文件。我用谷歌搜索,发现无法对 csv 文件进行密码保护。有没有其他方法可以密码保护文件?
codeigniter - 我需要 VPS 来获取 CodeIgniter 和 PHP 5.3
我目前在 WAMP 上的计算机上托管我的网站,但是我希望将其上线。问题是它同时使用 CodeIgniter 和 PHP 5.3。但是,它不会在交通开始时产生很大的影响。有什么方法可以让我更好地控制我的服务器(以便我可以使用 5.3 和 CI)而无需支付 VPS 费用?你会推荐哪个主机?
php - Doctrine2 是否与 PHP 5.3 兼容?
似乎学说 2 仅与 PHP 5.3 及更高版本兼容,与 5.3 之前的 php 版本不兼容。有人可以确认这是否属实吗?
php - 使用 mysql_fetch_object (PHP 5.3.3) 时出现奇怪的 MySQL 错误“Empty row packet body”
当我使用 PHP 从资源(查询)中获取行时,我得到了一个非常奇怪、毫无意义且完全随机的错误。
我的开发机器是带有 Apache 2.2 的 Windows XP SP3,而 MySQL 在虚拟机上运行,使用 ubuntu 10.04,具有 768mb 内存、100GB 硬盘和 4 个逻辑内核(英特尔 q6600)。然而,这个问题与 Windows 上的 PHP 无关,因为我在数据库机器上运行代码时遇到了同样的错误。
我正在使用mysql
扩展名(不是mysqli
or mysqlnd
),但是环顾四周,我创建了一个关于这个与 mysqlnd 扩展名相关的错误的补丁,所以,我可能应该尝试一下。
主要问题是当我执行这个查询(一个非常大的查询,有几个派生表和超过 20 个连接)并快速处理结果并且一切顺利时,但是当我的代码花费大约 15/20 秒来处理一个块时行数(我需要从它们之间以非常特殊的方式链接的行块构建一个对象,我无法更改它,数据库不是我的,并从这个对象制作一些 PDF)一段时间后(随机时间)我收到此错误“空行数据包正文”。
我使用无缓冲查询来减少内存消耗(如果启用缓冲,我会得到大约 260MB 的已用内存),但这应该不是问题。
php - PHP 5.3x 中的 xsl 参数失败
我在 PHP 5.3 中有一个失败的东西,当它的内容是它的内容时。
对于上下文,我对一个 DOMDocument 进行 XSL 转换,并将结果作为参数插入到另一个 DOMDocument 中,然后再进行转换。到目前为止,这一直很好。
返回 0。
是参数名称。
在我的 PHP 中,我可以让它在其他地方工作一千次,但由于某种原因,它只会在将大约一千个名称插入 HTML 表时失败。如果我将名称换成其他东西,例如自动增量 ID,那么它可以正常工作。
我没有双引号/单引号问题,因为所有内容都通过清理实用程序运行,并且我手动浏览了数据并删除了除字母数字字符之外的所有内容。
xsl 参数是否有最大长度/大小?
php - xCode 的 Processid (PID) 重用问题
我有一个大型的自定义 CMS,我使用 xcode 运行分析器来获取调试信息。因此,我在我的 CMS 和“希望”中执行不同的功能,以通过 xDebug 获取所有信息。
假设我执行两个功能:
现在,由于进程 ID 重用,有机会(发生在我 10 次中的 8 次)而不是我有 2 个的 3 个缓存文件,一个 processId 被重用。无赖
这个问题可以克服吗?会怎样。。
..提升 Keep-Alive 不是解决方案。
php - 如何在我的网站上跟踪用户访问?
如何在我的网站上跟踪用户访问?