我目前正試圖解決Zend Framework 2 Tutorial。Zend Framework2嘗試添加到sqlite分段錯誤db
我在Solaris系統上使用Zend Engine v2.4.0的Apache 2和php 5.4.7。
我設法創建了我需要的所有東西,但是當我想從列表中添加或刪除一個相冊時,Apache子進程總是崩潰,導致出現分段錯誤。 我backtraced這與 GDB的httpd, 運行-X 直到發生錯誤, 發現,這裏的東西是最後一次執行的框架試圖得到Zend的StringLength.php功能的isValid():169
添加或編輯專輯時,用戶必須提供藝術家和專輯名稱的數據,然後點擊提交按鈕。 現在在驗證表單的輸入時會崩潰。
我嘗試添加單個字符名稱,üöä包含名稱和只是簡單的名稱,如'西蒙貓',一切都失敗。
你有什麼建議可能是什麼問題?
編輯:
我本地化了一點錯誤。
public function isValid($value)
{
if (!is_string($value)) {
$this->error(self::INVALID);
return false;
}
/*
$this->setValue($value);
if ($this->getEncoding() !== null) {
$length = iconv_strlen($value, $this->getEncoding());
} else {
$length = iconv_strlen($value);
}
if ($length < $this->getMin()) {
$this->error(self::TOO_SHORT);
}
*/
if (null !== $this->getMax() && $this->getMax() < $length) {
$this->error(self::TOO_LONG);
}
if (count($this->getMessages())) {
return false;
} else {
return true;
}
}
分段錯誤會在isValid()中的註釋間產生差異。 也許它與getEncoding()方法有關?
EDIT2:
問題是iconv_strlen連接,不知道爲什麼,雖然:如果你只是用普通的strlen /做工精細()
所以,我沒有解決問題。 我只是使用正常的strlen()。 – RobRob