我使用Magento並從管理員回滾數據庫期間得到PHP分段錯誤。我做了調查,看看原因是這樣的:preg_replace期間PHP分段錯誤
preg_replace("/'(\\'|\\\\{2}|[^'])*'/", '', $sql);
$ sql字符串夠大,我附上了。
https://drive.google.com/file/d/0B9UbKYbywcABOTRSVG5KRl9La0k/edit?usp=sharing
您可以使用這樣的腳本來重現問題:
<?php
$test = file_get_contents('test.txt');
$sql = preg_replace("/'(\\'|\\\\{2}|[^'])*'/", '', $test);
可能有人知道這個問題,可以幫助我解決呢?
P.S.類,直接導致的問題是抽象類Zend_Db_Statement 204:208
你爲什麼用正則表達式重整你的SQL:在方便的.htaccess格式也可以? –
這不是我的代碼。這是來自Magento的代碼,它使用它來回滾自己的備份(SQL)。它逐個拋出語句並使用Zend Framework執行它。在我的服務器(和其他一些)上回滾不起作用,所以我試圖本地化這個問題。經過調查,我明白這個問題在preg_replace。 – freento