1

今朝突然、PHP サーバーが一部の Web ページの提供を停止しました。私は何も変更しませんでしたが、自動更新によって変更された可能性があります。PHP インスタンスがセグメンテーション違反を起こし、Apache が空白のページを返しました。私はこれに問題をたどりました:

array_unique( $arr ); # segfault

のオブジェクトの文字列表現を使用します$arr。これにより、プログラムもセグメンテーション違反になります。

echo $arr[0]; # segfault

しかし、これはそうではありません!

echo $arr[0]->__toString(); # works as expected

これはセグメンテーション違反を行います:

echo (string)$arr[0]; # segfault

最後の3行は同じだと思っていました。

何が間違っている可能性がありますか?MWE を書いてみますが、誰かがこれを以前に見て何かアイデアを持っているのではないかと考えました。

function __toString() {
    return 'Product #' . $this->id;
}
4

0 に答える 0