[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 02/23 23:57 / Filesize : 381 KB / Number-of Response : 998
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はここに書き込みやがれ 14



1 名前:デフォルトの名無しさん [2022/09/20(火) 16:46:23.39 ID:Sb2Kpzh+0.net]
!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ

PHPに関する質問スレです

前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 13
https://mevius.5ch.net/test/read.cgi/tech/1631147923/

次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured

992 名前:947 mailto:sage [2024/11/02(土) 11:20:08.91 ID:grhM95Vo0.net]
どうやら正規表現の syntax を RUBY から ONIGURUMA に変えるだけではダメそうです
この変更で (?W) が使えるようになったので syntax の切り替えは出来ているのですが、
正規表現に (*FAIL) や (*SKIP) を使うとエラーになります

php_mbregex.c の 473行目のエラー処理が実行されます
github.com/php/php-src/blob/2b10cd1bebde7b9844ebb6e3e60127dfe7b195c5/ext/mbstring/php_mbregex.c#L473

これを解決するには php_mbregex.c と onigurumaライブラリ を深く理解する必要があり、
このスレのみなさんにとっても簡単な問題ではないと思います

そのため、ここは一度戦略的に撤退し、次の好機をうかがうことにしました
長々とお付き合い下さりありがとうございました!

993 名前:947 mailto:sage [2024/11/02(土) 12:21:06.68 ID:grhM95Vo0.net]
詳細は以下のスレに書いておきました
agree.5ch.net/test/read.cgi/mango/1715675838/323-325n

C言語をいじるならデバックの仕方を知らないと話にならないようなので
そういうことを覚えるのにかなりの時間がかかりそうです、なのでこの件は一旦保留にさせて下さい
( fprintf を仕込んで ./configure, make, make install ではラチがあかなくなったので)

994 名前:947 mailto:sage [2024/11/03(日) 21:59:48.17 ID:kb0e81X60.net]
補足: onig_init() は oniguruma の古いバージョンが使われたときに備えてのものでした
なので問題ありませんでした

現時点では正規表現に (*FAIL) や (*SKIP) を使うとエラーになる問題は
「PHPのインストール時に (*FAIL) が実装される前の oniguruma が入れられていて
それが使われているのではないか」という仮説を立てています

(*FAIL) が実装される前の oniguruma が使われていたなら「 "FAIL" なんて名前知らない!」と
言われてもおかしくないので..

995 名前:947 mailto:sage [2024/11/04(月) 01:55:48.60 ID:nQYymDx80.net]
↑の仮説は否定されました

oniguruma は最新Master branch版で間違いありませんでした 
oniguruma 6.9.9 で Fix されたバグが直っているのを確認しました

また、古いバージョンの oniguruma が入っていないことを確認しました 
libonig-dev なども含めて他の oniguruma は1つも入っていませんでした

996 名前:947 mailto:sage [2024/11/05(火) 00:51:48.35 ID:QtAnl6270.net]
oniguruma 付属のテストファイル /sample/callout.c では (*FAIL) や (*SKIP) が動くので、このテストファイルのコ-ドを php_mbregex.c に移植して動かしてみました (コンパイルエラーを回避するための最低限の変更のみしました) そしてPHPを動かしてみたところ、問題のエラーと同じエラーが出ました

oniguruma 側でのエラーコード: -229
github.com/kkos/oniguruma/blob/f6723fd940b993b39b1535f71c8695867a5e92d1/src/oniguruma.h#L640

これにより、問題の原因がPHP側にあることが確定しました
しかし php_mbregex.c を読んでもこの問題を起こしそうな箇所は見当たりません

原因はコ-ドではなくPHPの環境にあるのかも知れま1000

997 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 776日 8時間 5分 26秒






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<381KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef