PHP 8 was released on November 26, 2020. You can download it here. It's a new major version, which means that there are some breaking changes, as well as lots of new features and performance improvements. Because of the breaking changes, there's a higher chance you'll need to make some changes in your code to get it running on PHP 8. If you've kept up to date with the latest releases though, the u
ini_get('mbstring.internal_encoding') と mb_internal_encoding() の値が異なるらしいので調べてみました。 後半ではmbstring.language や mb_regex_encoding との影響についても記述します。 ソースを読んで自分なりに解釈しましたが、間違い等あればご指摘ください。 環境 Mac OS X 10.7.5 PHP 5.3.15 with Suhosin-Patch (cli) Zend Engine v2.3.0 現象を確認 まずは次のコードにて確認してみます。 <?php // 出力確認用の関数 function p($title) { echo $title . PHP_EOL; echo ' mb_internal_encoding():' . mb_internal_encoding() . PHP
去年末(2019/12)にオススメ書籍をまとめてみたことがあったので、それを少し更新して公開します。 上にある書籍がよりオススメというわけではないです。 対象者は「PHP中級者」です。中級者が何かは難しいですが、初心者、初級者では決してないとは言えます。 改めて一覧にしてみると、かなり偏っているかも知れません(笑 こういうのはコンテキストというのがあるため、それが合わないと「お前は何を薦めているのだ?」となるでしょうね。 キーワードは、「モデリング」「オブジェクト指向プログラミング」「TDD」「デザインパターン」「DDD」「チーム開発」「アジャイルソフトウェア開発」「スクラム」でしょうか。 PHP中級者のイメージ たぶん、PHP中級者であれば、PHPに関することはPHPマニュアルなどを調べて解決できるでしょう。PHPのオープンソースプロジェクトに貢献しており、自分でプロジェクトを持っている
Attributes v2というRFCが投票中です。 投票期間は2020/05/04まで、投票者の2/3の賛成で受理されます。 2020/04/27時点では賛成48反対1で、ほぼ間違いなく可決されます。 Attributes v2 Introduction このRFCは、クラス/プロパティ/関数/メソッド/引数/定数の宣言に、構造化されたアトリビュートをメタデータとして記述できるようにする提案です。 アトリビュートは、コードの宣言に直接設定ディレクティブを埋め込むことで定義されます。 同じような概念としてJavaのAnnotation、C#/C++/Rust/HackにおけるAttribute、Python/JavascriptにおけるDecoratorが存在します。 これまで、PHPではこのようなメタデータとしては非構造的であるdoc-commentsしか存在しませんでした。 しかしdo
PHPのcoredumpを読みたいことは一生に1度くらいあるかもしれない。ないほうがよい。 正確にはmod_phpが組み込まれているApache httpdのcoredumpである。 内容はいいからコマンドが知りたい人向け $ gdb /usr/sbin/apache2 --core /var/tmp/core/core.15001 --command /usr/local/src/php-5.5.5/.gdbinit (gdb) set print pretty on (gdb) zbacktrace (gdb) print *executor_globals->active_op_array (gdb) print sapi_globals->request_info
知る者は言わず、言う者は知らず — 老子 世界で最も有名なプログラムの 1 つに、 hello world というものがあります。 <?php echo 'hello, world'; 出力先に対して「hello, world」という 12 字を書き込むだけの単純なプログラムで、プログラミング言語やライブラリの利用例を最小限の形で示すものです。 この記事ではメジャーな Web プログラミング言語の 1 つである PHP 処理系が、hello world をどのように実行するのかについて、簡単に解説します。 以下の 4 節で構成されています。 「PHP スクリプト実行の大体の流れ」は実行時の概略を箇条書きでまとめたものです。 「SAPI」では、PHP 処理系の起動のされ方についての基礎知識を解説します。 「Zend Engine とオペコード」は PHP 公式処理系の仮想マシンの命令と、PH
この記事はPHP Advent Calendar 2019の5日目の記事です。 はじめに 私は6年前に、PHP Advent Calendar 2013として「PHPだってシェル経由でないコマンド呼び出し機能が欲しい」という記事を書きました。その中で、OSコマンドインジェクション対策の根本的かつ安全な対策は「シェルを経由しないコマンド呼び出し」であることを指摘した上で、末尾に以下のように書きました。 PHPコミッタのみなさま、PHP5.6の新機能として、シェルを経由しないコマンド呼び出しの機能を追加できませんか? 現実には当時からPCNTL関数にてシェルを経由しないコマンド呼び出しはできたのですが、当関数の使用が難しいことと、CLI版あるいはCGI版(FastCGIは可)のPHPでないとサポートされていないなどの制限があり、popenやproc_openなど使いやすいコマンド呼び出し関数に
PHP 8から、PHPは「PHP」と「P++」という2つの言語を提供するようになる というキャッチーな紹介をするP++: 静的型付けをめざすPHPという記事がそれなりに話題になり、このニュースは目覚しく革新的な内容で、多くのひとの目を引き付けました。 これは早まった理解であり、ほとんど誤報と言ってもいい内容でした。2019年8月15日には提案者本人も、少くとも「P++」の計画を短期的に実現するととは非現実的であり時期尚早であることを認めています。 この記事では、PHP開発の現状、なぜ野心的なP++計画が提案され、事実上撤回されたかの経緯について紹介します。 [中立性のための表示] この記事の著者@tadsanはPHPの静的解析を強く推進する立場です。 PHPゆるふわCI入門 PHP型検査・夢と理想と現実) 三行で要約 PHPはバージョンを経るごとに「歴史的経緯」による負債が削ぎ落されてきた
はじめに Teto\Functoolszonuexe/php-functoolsは、数日前に「内部状態で頭がパンクして氏なないようにするには関数型言語がオススメ」との噂を真に受けて実装したライブラリだ。計画性のない人生でも、命は惜しい。 正直なところ僕には「関数型言語」が何を意味するのかよくわからないし、実際のところ単なる流行語に過ぎないと認識してるのだけれど、さしあたってPHPで「部分適用をしやすくしよう」を最初の目的に出発した。 このライブラリはイテレータ機能はカバーしないので、Underbar.phpとかGinqとか、好きなのを選べば良いと思ふ。この記事では特定のライブラリには依存せず、配列とPHP標準函数のarray_map, array_reduce, array_filterで説明する。 過去、いくつか関連のありそうな記事を書いたのだけれど、参考になるだろうか。 (たぶんならな
3. はじめに <?php declare(strict_types=1); function hello( string $name):void { echo "hello {$name}"; } hello('php'); PHP スクリプト PHP 実行環境 PHP プログラムの実行 hello php 4. はじめに <?php declare(strict_types=1); function hello( string $name):void { echo "hello {$name}"; } hello('php'); PHP スクリプト PHP 実行環境 PHP プログラムの実行 hello php トークする内容はここ 5. 目次 1. Server API (SAPI) 2. Zend Thread Safety (ZTS) 3. Zend Engine 3.1 Vir
Services Platform.sh for Symfony Best platform to deploy Symfony apps SymfonyInsight Automatic quality checks for your apps Symfony Certification Prove your knowledge and boost your career SensioLabs Professional services to help you with Symfony Blackfire Profile and monitor performance of your apps
PHP Internals Book 日本語訳 Table Of Contents コンテンツ :: はじめに » 注釈 このサイトは PHP Internals Book の日本語翻訳サイトです。リポジトリは ここ です。 Table Of Contents¶ はじめに PHPビルドシステムを使う PHPをビルドする PHPエクステンションをビルドする PHPエクステンションの作成 Zvals 基本構造 メモリ管理 キャストと演算 関数の実装 ハッシュテーブル 基本構造 ハッシュテーブルAPI Symtableと配列API ハッシュアルゴリズムと衝突 クラスとオブジェクト シンプルなクラス 独自のオブジェクトストレージ 型付き配列の実装 オブジェクトハンドラー イテレーター シリアライゼーション 定義済みインターフェイス 内部構造と実装 索引と検索¶ 索引 検索ページ コンテンツ ::
アップデート :この記事の第一稿を投稿してから数時間後、PHPのベンチマークが機能していないことに気付きました。ですから万全を期すため、PHPとRustの双方のバージョンを更新しました。変更箇所は、GitHub(最後にリンクあり)にまとめて載せてあります。 昨年10月、私は Etsy の とある同僚 と、どうやったらPHPやRuby、Pythonといったインタプリタ型言語で今よりずっと簡単にエクステンションが書けるかについて議論しました。うまく書けない原因の1つとして、エクステンションは概してCで書かれますが、Cに長けているのでなければ自信を持ってコードを書くのは難しい、といったことなどを話しました。 あれ以来、私はずっとRustでエクステンションを書く方法を模索し、ここ数日は実際にあれこれ試してみました。そして今朝、ついにうまくいったのです。 Cに埋め込んだRustをPHPで実行 私の基
これの続き tapira.hatenablog.com 対処法 結論から言うと w3-total-cache の Database Cache 無効化で良い 再現 wordpressインストール w3-total-cacheプラグインインストール General Settings にて以下を有効化。他はデフォ値で。 Page Cache / Database Cache / Object Cache / Browser Cache 画像を含んだ投稿をおこなう 管理者ログアウトした状態でトップページ表示 原因(?) 細かく追ってないけど Object Cache が消えているのに、 Database Cache がファイルがあるものとして記憶しているっぽくて No such file or directory の後、無限ループに入り死んでるように見える。(違ったらすいません) レンサバ何箇所
RoadRunner features a range of plugins, including HTTP(S)/2/3 and fCGI servers that are compatible with PSR-7/PSR-17 standards. This is just one of its many capabilities. It serves as an effective alternative to the traditional Nginx+FPM setup, providing improved performance and more flexibility. Its extensive plugin options go far beyond just HTTP(S)/2/3 and fCGI servers, offering a broad range o
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く