!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
探検
【PHP】下らねぇ質問はここに書き込みやがれ 14
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ 0f97-W3aP)
2022/09/20(火) 16:46:23.39ID:Sb2Kpzh+0995デフォルトの名無しさん (ワッチョイ 497b-vCJ4)
2024/10/29(火) 22:42:58.65ID:zqRlJI/00 真面目に直すなら、αを修正してphp側からONIGURUMA指定出来るようにすればいい
これは970に書いたとおり、
php_mbregex.c:489:static size_t _php_mb_regex_get_option_string
php_mbregex.c:594:static bool _php_mb_regex_init_options
の2関数を修正すればよく、下側は979に書いたとおり以下3行追加、上側はその逆を追加するだけ(多分)
case 'o':
*syntax = ONIG_SYNTAX_ONIGURUMA
break;
この辺やる気有るのならCのソースは俺が書いてもいいが、報告その他は全部やってくれ
報告の仕方は https://www.php.net/get-involved の通り
ただしバグ修正ではなく仕様追加なので、メンテナの判断により(ソースコードが妥当でも)却下される可
能性はある(改行は規制回避)
>>994 すまぬ一部修正、規制に引っかかったついでに最後の段落書き足したら大文字にするのを忘れた
× ruby指定とoniguruma指定で
○ RUBY指定とONIGURUMA指定で
これは970に書いたとおり、
php_mbregex.c:489:static size_t _php_mb_regex_get_option_string
php_mbregex.c:594:static bool _php_mb_regex_init_options
の2関数を修正すればよく、下側は979に書いたとおり以下3行追加、上側はその逆を追加するだけ(多分)
case 'o':
*syntax = ONIG_SYNTAX_ONIGURUMA
break;
この辺やる気有るのならCのソースは俺が書いてもいいが、報告その他は全部やってくれ
報告の仕方は https://www.php.net/get-involved の通り
ただしバグ修正ではなく仕様追加なので、メンテナの判断により(ソースコードが妥当でも)却下される可
能性はある(改行は規制回避)
>>994 すまぬ一部修正、規制に引っかかったついでに最後の段落書き足したら大文字にするのを忘れた
× ruby指定とoniguruma指定で
○ RUBY指定とONIGURUMA指定で
996947 (ワッチョイ 3374-D2cl)
2024/11/02(土) 11:20:08.91ID:grhM95Vo0 どうやら正規表現の 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ライブラリ を深く理解する必要があり、
このスレのみなさんにとっても簡単な問題ではないと思います
そのため、ここは一度戦略的に撤退し、次の好機をうかがうことにしました
長々とお付き合い下さりありがとうございました!
この変更で (?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ライブラリ を深く理解する必要があり、
このスレのみなさんにとっても簡単な問題ではないと思います
そのため、ここは一度戦略的に撤退し、次の好機をうかがうことにしました
長々とお付き合い下さりありがとうございました!
997947 (ワッチョイ 3374-D2cl)
2024/11/02(土) 12:21:06.68ID:grhM95Vo0 詳細は以下のスレに書いておきました
agree.5ch.net/test/read.cgi/mango/1715675838/323-325n
C言語をいじるならデバックの仕方を知らないと話にならないようなので
そういうことを覚えるのにかなりの時間がかかりそうです、なのでこの件は一旦保留にさせて下さい
( fprintf を仕込んで ./configure, make, make install ではラチがあかなくなったので)
agree.5ch.net/test/read.cgi/mango/1715675838/323-325n
C言語をいじるならデバックの仕方を知らないと話にならないようなので
そういうことを覚えるのにかなりの時間がかかりそうです、なのでこの件は一旦保留にさせて下さい
( fprintf を仕込んで ./configure, make, make install ではラチがあかなくなったので)
998947 (ワッチョイ 6274-erF6)
2024/11/03(日) 21:59:48.17ID:kb0e81X60 補足: onig_init() は oniguruma の古いバージョンが使われたときに備えてのものでした
なので問題ありませんでした
現時点では正規表現に (*FAIL) や (*SKIP) を使うとエラーになる問題は
「PHPのインストール時に (*FAIL) が実装される前の oniguruma が入れられていて
それが使われているのではないか」という仮説を立てています
(*FAIL) が実装される前の oniguruma が使われていたなら「 "FAIL" なんて名前知らない!」と
言われてもおかしくないので..
なので問題ありませんでした
現時点では正規表現に (*FAIL) や (*SKIP) を使うとエラーになる問題は
「PHPのインストール時に (*FAIL) が実装される前の oniguruma が入れられていて
それが使われているのではないか」という仮説を立てています
(*FAIL) が実装される前の oniguruma が使われていたなら「 "FAIL" なんて名前知らない!」と
言われてもおかしくないので..
999947 (ワッチョイ 6274-erF6)
2024/11/04(月) 01:55:48.60ID:nQYymDx80 ↑の仮説は否定されました
oniguruma は最新Master branch版で間違いありませんでした
oniguruma 6.9.9 で Fix されたバグが直っているのを確認しました
また、古いバージョンの oniguruma が入っていないことを確認しました
libonig-dev なども含めて他の oniguruma は1つも入っていませんでした
oniguruma は最新Master branch版で間違いありませんでした
oniguruma 6.9.9 で Fix されたバグが直っているのを確認しました
また、古いバージョンの oniguruma が入っていないことを確認しました
libonig-dev なども含めて他の oniguruma は1つも入っていませんでした
1000947 (ワッチョイ 6274-erF6)
2024/11/05(火) 00:51:48.35ID:QtAnl6270 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
oniguruma 側でのエラーコード: -229
github.com/kkos/oniguruma/blob/f6723fd940b993b39b1535f71c8695867a5e92d1/src/oniguruma.h#L640
これにより、問題の原因がPHP側にあることが確定しました
しかし php_mbregex.c を読んでもこの問題を起こしそうな箇所は見当たりません
原因はコ-ドではなくPHPの環境にあるのかも知れま1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 776日 8時間 5分 26秒
新しいスレッドを立ててください。
life time: 776日 8時間 5分 26秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- M-1グランプリ2025 優勝はたくろう ★3 [Anonymous★]
- 【速報】ヤクルト・村上宗隆、ホワイトソックスと2年総額53億で合意! 米報道…低迷チームが白羽の矢、短期契約★2 [冬月記者★]
- 【読売世論調査】高市内閣の支持率73%で最高更新、細川・小泉内閣に続き「発足2か月後も70%」維持 [蚤の市★]
- パナソニック、マツダ、三菱電機も…人手不足なのに「中高年リストラ」が黒字大企業で加速するワケ [七波羅探題★]
- 【訃報】漫画家・鹿子さん死去 37歳 脈絡膜悪性黒色腫で闘病 ヤングマガジン『満州アヘンスクワッド』連載中 [シャチ★]
- 高市内閣の支持率 前回調査から2ポイント増の67% 3カ月連続高水準 毎日新聞世論調査 ★2 [尺アジ★]
- ( ˘・ω・˘ )ちんボーイ……
- 新着通知屋ワタナベ
- おジャ魔女どれみとプリキュアの間に何かアニメやってたよな
- Fate/GOスレ
- 【速報】村上宗隆ホワイトソックスwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
- ここだけLINEの文章でレスするスレ
