タグ

phpとmemoryに関するkathewのブックマーク (16)

  • 【PHP】composer installでメモリ不足を解消するコマンド | WEBコンサルティング・WEB制作のフリーランス uiuifree

  • composer update でメモリオーバーする場合の対策 - Qiita

    composer update や composer require した時に使用可能なメモリを超えるとこのようなエラーが発生します。 $ composer update [13-Jul-2020 10:10:03 UTC] PHP Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate 1974272 bytes) in Unknown on line 0

    composer update でメモリオーバーする場合の対策 - Qiita
  • php-fpm の設定を理解してサイトのパフォーマンスを向上させる

    nginxWordpressサイトを運用する場合、php-fpmを利用することが多いかと思います。(Apacheでも利用することができますが) php-fpmの設定によって、Webサイトのパフォーマンスは左右されます。それだけでなく、不適切な設定はメモリリーク等につながるので、Webサイトにとって重要な設定であるといえます。 この記事では、そんな php-fpm の設定の最適化方法について解説していきたいと思います。 php-fpmの役割と特徴 WordPress などの動的サイトは、Webサーバーがクライアントからリクエストを受けると、サーバー上でPHPを実行して動的にページを生成し、生成したページをレスポンスとしてクライアントに返します。 この、サーバー上でPHPを実行する仕組みがphp-fpmです。php-fpmでは、リクエストのたびにプロセスを生成していたのでは非効率なので、原則

    php-fpm の設定を理解してサイトのパフォーマンスを向上させる
  • メモリを使いすぎたPHPから無理やり解放させる - Qiita

    環境:CentOS7 + apache2.4(prefork) + PHP5.4 現象 PHPの処理が終了してもメモリの使用量が回復しない画面(処理)がある。 MaxRequestsPerChildに達するとapacheのプロセスが終了してメモリ使用量も回復するが、特定の画面だけでその現象が発生しているため、時にはMaxRequestsPerChildに達する前にサーバーのメモリを使い切ることがある。 というか、複数プロセスあるんだから、普通はそうだよね。 ぶっちゃけメモリリークなんだろうけど、発生個所が曖昧なのと、特定環境でのみしか発生しないため、調査が難航。 理想 PHP処理が終了したら、PHPが使ったメモリを解放する。 現実 unsetや循環参照の怪しそうなところを潰してみたけれど、環境によって発生コードが異なっていて、そもそもの根原因がわからない状態なので、どこまで対応すれば完了

    メモリを使いすぎたPHPから無理やり解放させる - Qiita
  • PHPのメモリの上限を変更する - Qiita

    $ vi /etc/php.ini $ /memory_limit ---------------------- memory_limit = 128M

    PHPのメモリの上限を変更する - Qiita
  • PHPのメモリ不足“Fatal error: Allowed memory size of …”、memory_limit を増量しても効かない

    PHPのメモリ不足“Fatal error: Allowed memory size of …”、memory_limit を増量しても効かない 2018年11月14日 たかた WordPress や Movable Type のようなCMS、Web予約やイベントWeb申込等のWebシステムを運用していると、突然まっ白な画面になって、びっくりした経験はないでしょうか。 まっ白な画面になる原因はいくつもありますが、今回はエラーメッセージが「Fatal error: Allowed memory size of …」と表示されていたので、取り扱いデータがメモリの制限値をオーバーしたのだなと分かりました。そこで、応急処置としてメモリ制限値を変更(増量)すれば解決するものと思っていたのですが、エラーが解消されなかったのです。 今回は、なぜエラーが解決できなかったのか、その顛末をご紹介致します。 エ

    PHPのメモリ不足“Fatal error: Allowed memory size of …”、memory_limit を増量しても効かない
  • ファイルのPOSTに立ちはだかる壁(PHP編) - Qiita

    PHPでファイルアップロードを行うこともありますが、あちこちの設定が「扱えるファイルの最大サイズ」に影響するので、抜けや漏れが発生しやすいかもしれません。 第一の壁 HTTPサーバ まず、POSTリクエストはHTTPサーバに届きますが、このHTTPサーバの段階で「最大のリクエストサイズ」や「最大のPOSTサイズ」で容量を制限してあることがあります。 Apacheではデフォルト無制限なので、意図して設定していない限り問題にはなりませんが、nginxの場合はもともと「静的ファイルの配信」を意図して作られていた加減か、最大1MBというかなり低めの設定がデフォルトになっています。PHP側をいくら設定しても、nginxで設定した場合にはPHPまで大きなデータが届かないので、注意が必要です。 第二の壁 PHPの最大POSTサイズ そして、PHP側でもpost_max_sizeとして、POST可能なデー

    ファイルのPOSTに立ちはだかる壁(PHP編) - Qiita
  • PHP: 陥りやすい落とし穴 - Manual

    陥りやすい落とし穴 MAX_FILE_SIZE の値に、php.ini の upload_max_filesize で指定されたファイルサイズより大きなファイルサイズを指定する ことはできません。デフォルトは、2 メガバイトです。 メモリ制限が有効な場合、memory_limit の値をより大きく 設定することが必要となる可能性があります。 memory_limit に充分大きな 値を設定するようにしてください。 max_execution_time に設定した値が小さすぎた場合、スクリプトの実行時間がこの値を越える 可能性を生じます。 max_execution_time に充分大きな値を設定するように してください。 注意: max_execution_time はスクリプト自身の実行時間にのみ影響します。 スクリプトの実行範囲の外側で発生する動作にかかる時間、つまり、 system(

    PHP: 陥りやすい落とし穴 - Manual
  • PHPでサーバメモリを使わないアップロード方法

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

    PHPでサーバメモリを使わないアップロード方法
  • Fatal error: Allowed memory size of エラーの対応【PHP】 - Web制作・Webシステムの株式会社ワイワイエンジン

    PHPで画面が真っ白になってしまうことありませんか? また、エラーで Fatal error: Allowed memory size of xxxxx bytes exhausted (tried to allocate 16 bytes) in … と、表示されてしまって、対応する必要に迫られることもあります。 Fatal error: Allowed memory size の原因 PHPで大量データを扱っている場合、メモリー不足のエラーが発生します。 その時、このようなエラーが発生します。 解決としては、次の3つのどれかで対応が可能です。 どれか1つ対応すれば解決すると思います。 Fatal error: Allowed memory size の解決方法 その1 php.iniの設定を変更します。 直接php.iniの設定が変更できる場合は、変更します。 memory_limit

    Fatal error: Allowed memory size of エラーの対応【PHP】 - Web制作・Webシステムの株式会社ワイワイエンジン
  • Blog

    明示的 意味 แพลตฟอร์มการเรียนรู้และพัฒนาทักษะด้วยเทคโนโลยี https://suin.io เป็นแพลตฟอร์มที่ให้คุณเรียนรู้และพัฒนาทักษะทางเทคโนโลยีอย่างสะดวกสบาย เรามุ่งมั่นในการให้ความรู้และประสบการณ์ที่มีคุณค่าในการพัฒนาตนเอง pascalcase

    Blog
    kathew
    kathew 2017/02/14
    オーバーヘッドすごい。なるべく気を付ける
  • "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ

    PHP Advent Calendar 2013 - 7日目 昨日は@hidenorigotoさんのBeyond MVCでした。 今日は PHPあるある的な問題に対する対策について少しばかり書きたいと思います。 ※ 歯ブラシを持たせてみた *1 メモリ不足でよくやる対応 PHPで大量のデータを扱ったりすると、設定された利用可能な最大メモリ使用量を超えて PHP Fatal error: Allowed memory size of 524288330 bytes exhausted (tried to allocate 351 bytes) in ....というエラーが発生して対応に追われたことの経験がある人はかなり多いと思います。 そもそも環境のメモリに余裕があるならmemory_limitを調整してメモリの使用量を増やしたり あまり余裕がない場合は暫定的対応として、該当処理部分だけ <

    "PHP Fatal error: Allowed memory size of xxx" で落ちる前にできること - ぷぎがぽぎ
  • PHPでメモリ上に一時ファイルを作る - Qiita

    概要 PHPでファイルを変換したり、ダウンロードさせる処理を作る場合がある。 その時に、例えばダウンロードさせる処理の場合。 ユーザーにダウンロードさせた後はもういらない場合がよくある。 cronなどで自動的に消してもいいが、どうせなら最初から一時ファイルとして 扱ってしまえばいいのじゃないかと。 そんな時に便利なTips的な感じ。 /* 例えば文字コードを変換してダウンロードさせる場合 変換後のファイルは別にサーバーに残しておく必要がない (今回は、キャッシュの事はまた別次元として考える) */ //ローカルのファイルを読む $data = file_get_contents("data.csv"); // 文字コード変換 $data = mb_convert_encoding($data, "UTF-8", "Shift_JIS"); //ここでメモリ上にファイルを作成する $fp =

    PHPでメモリ上に一時ファイルを作る - Qiita
  • PHPの配列によるメモリ消費.

    久々更新. 前から思っていましたが、何故PHPの配列はあんなにメモリを消費するんだろ. 大きいデータの場合、文字列→配列へexplodeなりすると、メモリ消費量が一気に10倍程度まで跳ね上がります orz この傾向は当然ながらデータサイズが小さい物より大きいものの方がより顕著です. 迂闊に大きいデータを配列化しようものなら、貴重なメモリ資源が喰い散らかされてしまいます(終了時には解放されますが、Linuxのメモリ最適化処理なんかの環境下だと、終了後も一見掴みっぱなしに見えるから気持ち悪い…). 例えばデータベース. データベース回りの機能をクラス化すると、大抵SELECTクエリの結果データを配列へ格納する様に作ると思いますが、この時も直接mysql_fetch_xxxxで処理を回すより結構なメモリ消費量となってしまいます. 更に、データベースから取得した配列データのエンコードを変換して出力

  • foreachを使うとき、もうちょいメモリのことを気にして行こうぜ | 日記の間 | あかつきのお宿

    phpでメモリを消費し過ぎて処理が止まってしまうときって、こんな(↓)エラーが出ますよね。使用し過ぎって言った方が良いのかな。 Allowed memory size of 134217728 bytes exhausted 原因はまさしくメモリを使い過ぎているわけですから、メモリの上限を上げてやれば、問題は解決するわけですね。 ini_set('memory_limit', '1G'); 例えばこうですね。とにかくもう、上げられるだけ上げたいってんなら、「-1」を指定するのも良いですけど。 僕も、上記のエラーが出た場合には、とりあえずこれを入れて回避するだけでした。それで解決すんだから良いじゃねーかと。実際にメモリがどうなっているとか、そんなこと知らねーよと。 でも、そろそろ向き合う頃かなと。メモリのことも気にし始めないと、強化系なのに頑張って具現化系の能力を使って分身を作り出していたカ

    foreachを使うとき、もうちょいメモリのことを気にして行こうぜ | 日記の間 | あかつきのお宿
    kathew
    kathew 2014/10/06
    foreachは使わずにwhile, list, each(+unset)を使えばメモリ節約になるのか。ふむふむ
  • blog.paz-para.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年10月時点の調査。

  • 1