PHPのmb_strpos関数でエラーが発生する。
お疲れ様です。
ちょっとした文字列変換プログラムを作ってみようと作成を行っていました。
ブラウザでは問題なく動作し、変更が行われていることを確認できたのですが、
コマンドラインで、実装したphpファイルを実行したところ
下記のエラーが発生しました。
何がいけないのでしょうか。お手数ですが、ヒントまたは、ご教示お願いいたします。
Fatal error: Uncaught Error: Call to undefined function mb_strpos() in C:\xampp\htdocs\training\totalization\totalization.php:21
Stack trace:
0 C:\xampp\htdocs\training\totalization\totalization.php(30): totalization('20201227')
1 {main}
thrown in C:\xampp\htdocs\training\totalization\totalization.php on line 21
#調べたこと、考えたこと
エラー文を検索し、mb_strpos()がphp.iniで使えない設定になっていないかを調べた。
結果:mb_stringをコメントアウトから使えるように修正を行ったが、同様のエラーが出た。
#ソース
php
1<?php 2 function totalization($day) { 3 4 $fpr = fopen("{$day}.txt","r"); 5 $fpw = fopen("{$day}_count.txt","w"); 6 $txt = ""; 7 while ($line = fgets($fpr)) { 8 $pattern = "/^((?!ネコ).)*$\n/m"; 9 $Replace = preg_replace($pattern,'',$line); 10 // $Result = str_replace("&", "", $Replace); 11 if ($Replace === "") { 12 continue; 13 } 14 $texts = "$Replace"; 15 $start = mb_strpos($texts,'Request: ')+9; 16 $end = mb_strpos($texts,'&'); 17 $text = mb_substr($texts, $start, $end-$start)."\n"; 18 fwrite($fpw, $text); 19 } 20 fclose($fpr); 21 fclose($fpw); 22 }; 23 24 totalization("20201227");
txt
1ネコ Request: /api/object&asfadfa 2犬 3ぞう 4mouse 5ネコ Request: /api/takeda&asfdaaasd 6犬 7ぞう 8mouse 9ネコ Request: /api/takesi&asfddsaadfa 10犬 11ぞう 12mouse 13ネコ Request: /api/tom&asfdasdf 14犬 15ぞう 16mouse 17
実行環境
php 7.3.22
回答2件
あなたの回答
tips
プレビュー