てきとうなさいと べぇたばん

PHPerKaigi 2024お疲れ様でした #phperkaigi

TOP > てきとうにこらむ > ゲーム作りとプログラミング日記 > PHPerKaigi 2024お疲れ様でした #phperkaigi

day2でアンチボッチ企画に参加しました

PHPerKaigiお疲れ様でした

いろいろありましたが、そんな中でもphp-srcに触っている人、PHP Internalsに報告してみようと声掛けしてくれる人々、そもそもコンパイルしようと声掛けしてくれる人もいてそれは収穫でした。 そこはよかった。

トーク

PHP で読む楽しいコアダンプ by sji

https://fortee.jp/phperkaigi-2024/proposal/0d16f898-0806-4be7-ba07-55b2da6f7408

何らかの理由でPHPが落ちてしまったときにコアダンプと呼ばれるメモリにある情報からヒントになるバグがあればいいよなと思いました。 コアダンプを吐かせるのが結構たいへんですし、そもそも企業の製品のコアダンプを吐いてもなかなかphp-srcに報告までは行きづらいか?となるとやはり対症療法かなともなるのでしょうかね。

php-src debug マニュアル by おのぽん

https://fortee.jp/phperkaigi-2024/proposal/26fcb764-0a5a-4759-9cb7-d8f14814e97a

php-srcなんもわからんからechoのZendVMを読んでみようというストーリーがいいですね。macOSだと色々と苦しいのでやはりlimaとか使ってLinux環境を用意したほうが良かったかなというのと、 echoだとZendVMに触れざるを得ずなのでvar_dump関数のほうがzval構造体を触れることができるのでわかることは多いかもしれないとアドバイスしました。

でも、ここまでやってくれたのは嬉しいですね。

ウキウキ手作りミニマリストPHP by uzulla

https://fortee.jp/phperkaigi-2024/proposal/9cb5ad60-8970-4877-894e-9a59826f20e1

php-srcをコンパイルして使う人がかなり少なかったという事実がわかったのがやはりショックでしたね。そうなると色々と苦しいと思いました。

質問もしましたが、make -jのパラメーターは人それぞれだと思います。ぼくが指摘したように $(nproc) とするのが一般的だったりしますし、php-src開発者ならばあえて -j1 (オプション無し)を選択することもあります。コンパイラが吐くwarningを見つけて修正したものをプルリクエストにするからです。

コンパイルするだけでもコントリビュートのチャンスが有ることを理解してもらえたら嬉しいですね。

PHP 8.3で追加されたjson_validate()を徹底的に深掘りしてみよう by 柚口 ましろう

https://fortee.jp/phperkaigi-2024/proposal/49d03ac7-679b-4216-b800-58ea1880dfc7

json_validateという関数はPHP 8.3で追加されたのですが、これを使うシチュエーションは限られるということで難しいとなりますね。 gdbでデバッグをしようとしたけど出来なかった、でピンときたのですが、それはなぜかというとmacOSではgdbが使えないのですね。 代わりにlldbを使うか、Linux環境からgdbを使うのがよいとアドバイスしました。

挑戦したのは良かったと思いました。

PHP 本体のバグを見つけたら適切に報告しよう by 工藤 剛

https://fortee.jp/phperkaigi-2024/proposal/ff5adcd4-310d-40ef-bb7d-0b3845d21813

Random拡張のメンテナーである工藤さんの発表でした。コアダンプを吐いたらgdbでバックトレースまでするとバグを特定しやすいので良いとのことでしたが、 かなりハードルが高いので再現コードでも通じると思います。

おわりに

色々と思うことはあるのですが、それよりも「php-srcに興味を持ってくれた人が多かった」という感想がありました。それは収穫だったと思いました。 ありがとうございました。

2024/03/10 11:41