我有一个在 Zend Framework 1.11 中开发的应用程序。我使用 Zend_OpenId 创建与合作伙伴网站的单点登录。这一直运行良好,直到我将我的 PHP 版本升级到 5.3.13。我现在收到以下错误:
Error: Cannot access storage directory /root/tmp/
我已将其追踪到 Zend_OpenId_Consumer_Stroage_File。临时目录由返回 /root/tmp 的 getenv('TMP') 设置。如果我通过将 tmp 目录硬编码为 /tmp 来覆盖它,我的 OpenId SSO 应用程序将再次运行。
我有第二台服务器可以运行该应用程序,但它运行的是 PHP 5.3 的早期版本。测试 getenv('TMP') 在该服务器上返回 false,因此 Zend 查找 /tmp。
是否可以:
a) 覆盖 Zend 中的存储目录?b) 在运行 5.3.13 的服务器上禁用 getenv 以便它返回 false 并且 Zend 查找 /tmp 而不是 /root/tmp?