我看见今天有一篇文章被发布到知识库中,如下:
Warning: Call-time pass-by- reference has been deprecated - argument passed by value; If you would like to pass it by reference, modify the declaration of [runtime function name] (). If you would like to enable call-time pass-by- reference, you can set allow_call_time_pass_reference to true in your INI file. However, future versions may not support this any longer. in c:/crm203 /modules/Reports/Report.php on line 370
修改 PHP.ini,allow_call_time_pass_reference = On。
实际上, 我在安装了Apache/2.0.58 (Win32) PHP/4.4.2,这个选项缺省是打开的,另外,我记得有朋友说另一个解决的办法是关闭错误报 告功能。实际上,将上述php配置文件的值设为on可以视做一个解决的办法,但关闭报告功能估计是一种自己骗自己的方法,因为这是一个大的错误,不让他显 示并不代表就可以解决掉。
我在解决这一问题中发现,一共有几个原因可能导致上述问题:
1.上述值被设置了off。解决方法不说了;
2.如果你在windows下安装,而php安装目录 everyone没有读与执行的权限,可能也会导致这个问题;
3.如果php配置中的session目录设置不正确,也可能导致 这一问题。包括配置文件中路径设置不正确和没有创建session数据目录;
4.如果php配置中的includes目录设置不 正确,也可能导致这一问题。包括配置文件中中路径配置不正确和没有创建includes这个目录。
上述 后三种情况,多数apache+php配置说明都有详细的描述,大家可以参考。
上面这个问题,通常发生 在不使用vTigerCRM的安装程序,而是自己手工安装apache+php+mysql中,比如使用单独的安装文件或者easyphp安装包。都很有 可能出现上述的问题。
上面是我在解决这些问题时一些经验,不一定有代表性,只希望大家在解决类似问题时 提供一些参考。