将一些php和Web应用程序相关文件从我朋友的Windows计算机移植到我的Mac后,我遇到了一些错误



这是针对在heroku上运行的Facebook应用程序,但heroku可能不是问题所在。问题要么是某种与缓存相关的事情,要么是操作系统移植,要么我认为这可能是回车问题。

无论如何,我分别在顶部和底部收到几个错误:

Warning: Unknown: 
Warning: session_start(): open(C:ProgramDataJcx.SoftwareVS.Php2.10.6970.0temp/sess_i4ood4poc11ebsgth000g1nm74, O_RDWR) failed: No such file or directory (2) in /app/www/sdk/src/facebook.php on line 37
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /app/www/sdk/src/facebook.php:37) in /app/www/sdk/src/facebook.php on line 37 
open(C:ProgramDataJcx.SoftwareVS.Php2.10.6970.0temp/sess_i4ood4poc11ebsgth000g1nm74, O_RDWR) failed: No such file or directory (2) in Unknown on line 0 Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (C:ProgramDataJcx.SoftwareVS.Php2.10.6970.0temp) in Unknown on line 0

从本质上讲,我已经尝试了整个"确保会话位于顶部",但是我在任何文件中都没有该会话代码段。我已经尝试了整个,确保"?>"也在新行上,但没有效果。

更新

我发现了一个叫做:zend_extension_ts="C:\Program Files (x86)\Jcx.Software\VS.Php\2010\php 5.2\ext\php_xdebug.dll"

在一个名为php的文件中.ini即使在我试图摆脱它之后,它似乎也没有改变任何东西。所以,我认为这与我之前推送的一些文件有关,然后使用puo,intellisense.cache,projphp等扩展名删除。

我不知道这些是否是自动生成的,但无论如何根据我的错误:

  • 名为 temp 的文件中有一些会话数据。我没有名为 temp 的文件。
  • zend_extension_ts应该在某处被引用,但它在我的代码中不可见。
  • 我显然需要通过 session_start() 再次重新发送会话缓存限制器,这在我的代码中不可见。

不是会话,我敢肯定。但是您的代码中包含目录路径,但该目录不存在!只需先重构代码的那部分!

作为提示,您应该使用 realpath() 并在尝试使用它之前检查 path 是否存在。

希望这有帮助!

最新更新