我的服务器设置是
PHP 5.5.8
PostgreSQL 9.3
adodb 5
以下是错误的协调行
45 include($GLOBALS["webpath"] . "/adodb5/adodb.inc.php");
46 $conn = &ADONewConnection('postgres');
47 $conn->PConnect('host=www.site.com port=5432 dbname=database user=username password=secret');
还试过
$conn = &ADONewConnection('postgres9');
但我每次尝试运行此页面时都会收到此错误消息
Strict Standards: Only variables should be assigned by reference in /home/site/public_html/cron.php on line 46
答案 0 :(得分:1)
严格标准:在ADONewConnection中只能通过引用分配变量
$conn = &ADONewConnection('postgres9');
您需要删除&
前缀。
&
前缀尝试assign a reference到函数的返回值,$conn
。因此$conn
指的是同一个对象,而不是该对象的副本。这在PHP4中是必要的,但是,在PHP5中存储类实例的方式的改变使得这不必要。
只是稍微混淆一些事情,如果函数returned a reference,这在PHP5中实际上是有效的。但在这种情况下它并没有,因此严格的通知。通常,"只能通过引用来指定变量"。