Allowed memory size ofというエラー文が出てしまいます。
メモリが不足していることは理解できたのですが、どうやって解決したら良いのかが分かりません。
試したこと
memory_limitがデフォルトの128Ⅿだったのでini_set("memory_limit", "200M");にしました。←エラー文消えず。。
試してみたいこと
ini_set("memory_limit", "-1");を使ってメモリの上限を開放することです。
しかし、調べてみると危険という風に記載されていたので試していません。どういう風に危険なのかも教えていただけると幸いです。
問題と思われるコード
<?php date_default_timezone_set('Asia/Tokyo'); $year=date('Y'); $month=date('m'); //月末日を取得 $end_month=date('t',strtotime($year.$month.'01')); //一日の曜日を取得 $first_week=date('w'.strtotime($year.$month.'01')); //月末の曜日を取得 $last_week=date('w',strtotime($year.$month.$end_month)); $calender=[]; $j=0; //一日開始曜日までの穴埋め for($i = 0; $i < $first_week; $i++){ $calender[$j][]=''; } //一日から月末日までループ for($i = 1; $i <=$end_month;$i++){ if(isset($calender[$j]) &&count($calender[$j])===7){ $j++; } $calender[$j][]=$i; } //月末の曜日の穴埋め for($i=count($calender[$j]);$i<7;$i++){ $calender[$j][]=''; } $aryweek=['日','月','火','水','木','金','土']; ?> <table> <tr> <?php foreach($aryweek as$week){?> <th> <?php echo $week?> </th> <?php }?> </tr> <?php foreach($calender as$tr){?> <tr> <?php foreach($tr as$td){?> <?php if($td !=date('j')){?> <td> <?php echo $td ?> </td> <?php }else{?> <td class="today"> <?php echo $td?> </td> <?php }?> <?php }?> </tr> <?php }?> </table>
聞きたいのはどっちですか?
方向性が違うのでどちらかにしたほうが良いかと思いますが。
> メモリが不足していることは理解できたのですが、どうやって解決したら良いのかが分かりません。
> しかし、調べてみると危険という風に記載されていたので試していません。どういう風に危険なのかも教えていただけると幸いです。
あと、エラー文は全文コピペしてください。
https://teratail.com/help/question-tips#questionTips3-4-2

回答2件
あなたの回答
tips
プレビュー