!extend::vvvvv:1000:512
!extend::vvvvv:1000:512
★スレ立て時 ↑ が3行以上になるようコピペ
PHPに関する質問スレです
前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 14
https://mevius.5ch.net/test/read.cgi/tech/1663659983/
次スレは>>980以降
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
【PHP】下らねぇ質問はここに書き込みやがれ 15
1デフォルトの名無しさん (ワッチョイ 5b7b-vCJ4)
2024/10/29(火) 20:52:19.15ID:zqRlJI/002デフォルトの名無しさん (ワッチョイ fbe7-kvRr)
2024/10/30(水) 12:35:56.19ID:6wM0eSwC0 PHPで20桁の整数演算をしよう!
3デフォルトの名無しさん (ワッチョイ 1225-p9Y/)
2024/11/05(火) 13:23:35.70ID:nu4YBPFR0 GMPでも使ってろ
4デフォルトの名無しさん (ワッチョイ 617b-8+ss)
2024/11/06(水) 19:11:34.41ID:r48zHH+W0 遅れたが纏めて一応返しておく
(なお前後してる部分もあるので、まず全部読む方がいいかも
※はその時にはそう思ってたが、後になって違うと判明した部分
思考の過程を残した方が参考になると思うので残しておく)
> そのため、ここは一度戦略的に撤退し、次の好機をうかがうことにしました
この判断はあり、というか普通はそうする
理由は俺らプログラマにとっての資産=時間をかけて作ったもの=ソースコードであり、
自分のソースコ
ード=他の誰にも任せられず、『自分でやるしかない事に注力すべき』だから
onigurumaの新機能はいつか誰かが使えるようにしてくれるから、後回しでいい
典型的には既に回答されてるとおり、956,959でラップし、とりあえず自分のソースコ
ードを完成させてしまい、
その後やはり速度等で問題がある場合、
つまり自分で解決しないと先に進まない状況になって初めて今回のように自分で対応し、
その後ソースコ
ードを差し替える
だから最低限は「差し替えが簡単なソースコ
ードにしておく」事で、今回は自然とそうなるので問題はない
今回のような話は試行錯誤的で、
やってても終わりが見えないが、終わるときにはいきなり終わるので、
「もうちょっとで行けそう」的にズルズルと無限に時間を食う事はよくある
なので、一旦本筋に戻る、というのは正しい
ただ、(時間に余裕があるのなら)それでもやり続けるのも正しいが
出来ない≒多くの場合、何らかの技術/知識的に問題があるので出来ない、なので、
全方向的に首を突っ込むだけでも色々蓄積はしていく(とはいえ効率が悪いかもだが)
やれる事を繰り返してても慣れるだけで、本質的な部分では上達しない
(なお前後してる部分もあるので、まず全部読む方がいいかも
※はその時にはそう思ってたが、後になって違うと判明した部分
思考の過程を残した方が参考になると思うので残しておく)
> そのため、ここは一度戦略的に撤退し、次の好機をうかがうことにしました
この判断はあり、というか普通はそうする
理由は俺らプログラマにとっての資産=時間をかけて作ったもの=ソースコードであり、
自分のソースコ
ード=他の誰にも任せられず、『自分でやるしかない事に注力すべき』だから
onigurumaの新機能はいつか誰かが使えるようにしてくれるから、後回しでいい
典型的には既に回答されてるとおり、956,959でラップし、とりあえず自分のソースコ
ードを完成させてしまい、
その後やはり速度等で問題がある場合、
つまり自分で解決しないと先に進まない状況になって初めて今回のように自分で対応し、
その後ソースコ
ードを差し替える
だから最低限は「差し替えが簡単なソースコ
ードにしておく」事で、今回は自然とそうなるので問題はない
今回のような話は試行錯誤的で、
やってても終わりが見えないが、終わるときにはいきなり終わるので、
「もうちょっとで行けそう」的にズルズルと無限に時間を食う事はよくある
なので、一旦本筋に戻る、というのは正しい
ただ、(時間に余裕があるのなら)それでもやり続けるのも正しいが
出来ない≒多くの場合、何らかの技術/知識的に問題があるので出来ない、なので、
全方向的に首を突っ込むだけでも色々蓄積はしていく(とはいえ効率が悪いかもだが)
やれる事を繰り返してても慣れるだけで、本質的な部分では上達しない
5デフォルトの名無しさん (ワッチョイ 617b-8+ss)
2024/11/06(水) 19:12:32.98ID:r48zHH+W0 > php_mbregex.c の 473行目のエラー処理が実行されます
> PHP Warning: mb_ereg_replace(): mbregex compile err: undefined callout name in /home/user1/test.php on line 7
onigurumaがphp_mbsgringから見て正しく構成されているかをチェックしてるだけの様に見える
渡す正規表現のエンコードがphp_mbstring側(多分utf-8)と一致してるか等のチェックだと(この時点では)推測する
多分onigurumaのコンパイル時に指定出来るのではないかと(でもonigurumaもutf-8がデフォな気はするが)
という見当でonigurumaソースを見てみる
(なおソースコードは10/24にダウンロードしてた oniguruma-43a8c3f3daf263091f3a74019d4b32ebb6417093)
mbstring.c:472: onig_error_code_to_str(err_str, err_code, &err_info);
より、
php-8.3.12\ext\mbstring>grep -n -r onig_error_code_to_str * で出てこないので
oniguruma>grep -n -r onig_error_code_to_str * で(他多数だが)
src/regerror.c:293:onig_error_code_to_str(UChar* s, int code, ...)
oniguruma>grep -n -r "undefined callout name" * では
src/regerror.c:186: p = "undefined callout name"; break;
src/regerror.c:186付近を見ると ONIGERR_UNDEFINED_CALLOUT_NAME なので、
>grep -n -r ONIGERR_UNDEFINED_CALLOUT_NAME * すると(他多数だが)
src/regparse.c:1750: return ONIGERR_UNDEFINED_CALLOUT_NAME;
関数は get_callout_name_id_by_name なので中身を確認すると callout_name_find 結果がNULLの時だと分かる
src/regparse.c:1414: callout_name_find も確認すると、
・GlobalCalloutNameTable がnullか、
・onig_st_lookup_callout_name_table でNULLが返される時にこのエラー
> PHP Warning: mb_ereg_replace(): mbregex compile err: undefined callout name in /home/user1/test.php on line 7
onigurumaがphp_mbsgringから見て正しく構成されているかをチェックしてるだけの様に見える
渡す正規表現のエンコードがphp_mbstring側(多分utf-8)と一致してるか等のチェックだと(この時点では)推測する
多分onigurumaのコンパイル時に指定出来るのではないかと(でもonigurumaもutf-8がデフォな気はするが)
という見当でonigurumaソースを見てみる
(なおソースコードは10/24にダウンロードしてた oniguruma-43a8c3f3daf263091f3a74019d4b32ebb6417093)
mbstring.c:472: onig_error_code_to_str(err_str, err_code, &err_info);
より、
php-8.3.12\ext\mbstring>grep -n -r onig_error_code_to_str * で出てこないので
oniguruma>grep -n -r onig_error_code_to_str * で(他多数だが)
src/regerror.c:293:onig_error_code_to_str(UChar* s, int code, ...)
oniguruma>grep -n -r "undefined callout name" * では
src/regerror.c:186: p = "undefined callout name"; break;
src/regerror.c:186付近を見ると ONIGERR_UNDEFINED_CALLOUT_NAME なので、
>grep -n -r ONIGERR_UNDEFINED_CALLOUT_NAME * すると(他多数だが)
src/regparse.c:1750: return ONIGERR_UNDEFINED_CALLOUT_NAME;
関数は get_callout_name_id_by_name なので中身を確認すると callout_name_find 結果がNULLの時だと分かる
src/regparse.c:1414: callout_name_find も確認すると、
・GlobalCalloutNameTable がnullか、
・onig_st_lookup_callout_name_table でNULLが返される時にこのエラー
レスを投稿する
ニュース
- 高市早苗首相の答弁めぐり参院予算委が再三ストップ 立民会派が“台湾有事”答弁に納得せず [♪♪♪★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★3 [nita★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★4 [nita★]
- フィンランド、ミスや国会議員つり目投稿 くり返されるアジア人差別 ★3 [蚤の市★]
- 「PC買うなら急げ」は本当だった。マウスが一部販売停止&1月値上げを発表 [♪♪♪★]
- BreakingDown 前日会見で対戦予定選手から不意打ちビンタ→後頭部強打で失神した選手、くも膜下出血と報告「脳内に出血が発見され…★3 [Anonymous★]
- 高市「環境性能割を2年間停止とする!新車が安くなるわよ!」ネトウヨ「うおお高市!俺たちの高市!!減税最高!!!」 [792931474]
- 政府「ヒキこもり増えすぎ;;コイツラ普段何してんの;;」 [189987783]
- 【和歌山】県警さん、乾燥大麻を紛失 [696684471]
- マッチングアプリさん、鉄オタのキャンセルカルチャーに負けて謝罪 鉄道模型をうっかり踏むシーンが炎上 高市早苗 [175344491]
- 赤坂サウナ 身元判明 川崎在住の会社経営者 [628392482]
- 【悲報】小泉進次郎(関東学院大卒)、レーダー照射事件で何故かパイロットの「手袋」を公開して反論を試みる🥹 [616817505]
