我有一个可以正常工作的小型PHP选择脚本,我用另一个替换了php ini文件,此后,我收到以下错误消息:
警告:odbc_exec():SQL错误:ApplicationDiagnosis:可能的I / O 复制内存时检测到竞争状态。 I / O包不是 默认情况下线程安全。在多线程应用程序中,流必须 以线程安全的方式访问,例如线程安全的包装器 由TextReader或TextWriter的Synchronized方法返回。这个 也适用于StreamWriter和StreamReader之类的类,SQL状态 HY000在SQLExecDirect中 C:\ xampp \ htdocs \ standsafe \ dbscripts \ sage \ importSales.php在第8行
这是我的php脚本
<?php
$num_minutes = 10;
ini_set('max_execution_time', (60*$num_minutes));
$conn = odbc_connect("CData Sage50UK Source","manager","mypassword");
$query = odbc_exec($conn, "SELECT * FROM SalesOrders WHERE CustomerReference = '06/08/18' limit 1");
while($row = odbc_fetch_array($query)){
$json1[] = array_map('utf8_encode', $row);
}
echo json_encode($json1);
?>
thew php.ini文件中的某些内容必须已更改,但是我已经没有旧的了!有人可以协助吗?
答案 0 :(得分:1)
我发现问题实际上出在Sage中,并且通过重新启动Sage SData(工具> Internet选项> SData设置)解决了。看起来Sage软件正在同时尝试从同一数据文件读取或写入。