PHP9以降、致命的エラーになります。 以下は該当のRFC、Undefined VariableError Promotionの紹介です。 投票期間は2022/03/14から2022/03/28です。2022/03/21時点では賛成30反対6の賛成多数であり、ほぼ確実に可決されます。 Undefined VariableError Promotion Introduction 未定義変数とは、使用する前に値がまだ初期化されていない変数のことです。 未定義変数にアクセスすると、現在はWarning: Undefined variable $varnameの警告E_WARNINGが表示され、その変数値はNULLであるかのように扱われますが、実行が中断されることはありません。 しかし、これは意図しない挙動である可能性が高いでしょう。 この挙動を変更して例外を出すためにカスタムエラーハンドラ

TL;DRPHPアプリケーションにおいて、表題のような「PHPを使う上で自制心を持とうな」みたいな温度感でstrictな書き方を推奨される昨今 こういうのは往々にして人間が言うのはそのうちげんなりしてくるし、逆に言われる方も同じPHPStanが提供しているカスタムルールphpstan/phpstan-strict-rules を使おう 前提PHPStanを使うことを前提としています。phpstan/phpstan-strict-rulesgithub.comPHPStanは、「PHPStanでCustomRuleを作る」という発表でも解説されている通り、任意のカスタムルールをクラスとして定義することで、ルールを追加できます。しかし、すでにPHPStanが提供しているルールもいくつかあります。その一つがphpstan/phpstan-strict-rules です。 導入方法
結論 基本的には問題ない。 CentOS の公式 Wiki の FAQ には「CentOS は企業向けであり、最先端よりも安定性と長期的なサポートが優先される。主なパッケージのバージョンは製品のライフサイクル全体を通じて保持される。」「最新バージョンのパッケージがないのは欠陥ではなく特徴である。」2 (意訳) とあり、バージョンが古いままなのは意図的である。 また、「セキュリティパッチやバグ修正が出荷バージョンにバックポートされている。」「単にバージョン番号を見るだけでは、脆弱性があるとは言えない。」3 (意訳)とあり、脆弱性の対応も行われていることが分かる。 ただし、CentOS 5.x のphp53 パッケージはメンテナンスされていないので直ちに使用を中止した方がよい。「サポート期限」を参照のこと。 バックポートPHP本体のセキュリティサポートは、例えばPHP 5.4 だと 2

はじめに 巷では「Laradock」はLaravelの開発環境においては「適さない」或いは「ゴミ」という言葉を使って形容する事が流行っているみたいですね。 長いので自分の結論を先に書くと ・現在のLaradockはLaravel向けのDockerの開発環境ではなく、あらゆるPHPアプリケーションの開発環境に対応してソフトウェアを詰め込んだプロジェクトになっている。 ・なので、「Laravelを使ってみたい」だけを考えてやると、Laradock側の設定で詰まるポイントが多い為、オススメできない。 ・ある程度Docker Composeやインフラの知識がわかっている人だったら、検証環境としてはよいが、自分でdocker-compose.ymlを作った方がデバッグ時に困る事が少ない。 ・Laravelの事だけを考えたいならDockerの事は考えずにcomposerを使った方法がオススメ。 です。

参考PHP Supported Versions ※ZendのPHP LTSを使うとPHP5.6が2020年末までサポートになりますが、ここでは割愛します。 ※RHEL/CentOSのPHPを利用すると公式のサポート終了後もパッチなどがリリースされますが、ここでは割愛します。 CentOSのPHPセキュリティパッチ履歴 - Qiita CentOSのPHPは本当に安全か - Qiita ※PHP7.3は2018年12月6日にリリースされています。PHP 7.3.0 Released --PHP: NewsArchive - 2018 06 Dec 2018 ThePHP development team announces the immediate availability ofPHP 7.3.0. リリースノートより 今回の環境 まずは今回アップデートしたい環境のPHPのバ

はじめにPHPのバージョンempty(false) は true is_numericはfloatでもtrue $datetime->format の t まとめ はじめにPHP アドベントカレンダー が結構空いているので突貫で記事を書いています。 以前、以下のような記事を書きました。 www.utakata.work また、Qiitaにはこんな記事も書きました。 qiita.com このように、PHPには面白い挙動がいろいろあります。最近は面白い挙動や細かい仕様について、見つけるたびにサンプルを書いてリポジトリに追加していっています。github.com 今回は、この中から「面白いな」と思ったものをいくつか紹介します。PHPのバージョンPHP 7.2.4empty(false) は truePHPerには常識かもしれませんが、empty(false) は true です。

平素より「PHPプロ!」をご愛顧いただき、誠にありがとうございます。 2006年より運営してまいりました「PHPプロ!」ですが、サービスの利用状況を鑑みまして、2018年9月25日(火曜日)をもちましてサービスを終了させていただくことになりました。 サービス終了に伴いまして、2018年8月28日(火曜日)を持ちまして、新規会員登録ならびにQ&A掲示板への新たな質問、回答の投稿を停止させていただきます。 なお、ご登録いただいた皆様の個人情報につきましては、サービス終了後、弊社が責任をもって消去いたします。 これまで多くの皆様にご利用をいただきまして、誠にありがとうございました。 サービス終了に伴い、皆様にはご不便をおかけいたしますこと、心よりお詫び申し上げます。本件に関するお問い合わせはこちらよりお願いいたします。
ngix +php-fpm の組み合わせで特にErrorログについて整理しときます。 初心者向け補足 プール向け設定ファイル = /etc/php-fpm.d/www.conf 全体の設定ファイル = /etc/php-fpm.confphp-fpmのログまとめerror.logphp-fpm 全体で出すErrorログです。これは global ディレクティブでしか設定出来ません。 このファイルは、デフォルトでは各プールの標準エラーなどを出力されることはありません。各プールのエラーを出力したいならば catch_workers_output = yes を、プールの設定ファイルに記載します。 ただし、このパラーメータには注釈があります。 ; Redirect worker stdout and stderr into mainerrorlog. If not set, st
前提条件java selenium-server-standalone 現時点で最新のバージョン(3.7.1.jar)を用意してください facebook/php-webdriver: Aphp client for webdriver.chromedriver 現時点で最新のバージョン(chromedriver 2.33)を用意してください geckodriver 現時点で最新のバージョン(geckodriver v0.19.1)を用意してください が必要です。 ソース 百聞は一見にしかずなのでソースから。 example_chrome_headless.php require_once 'vendor/autoload.php'; use Facebook\WebDriver\Chrome\ChromeOptions; use Facebook\WebDriver\Remote\
※ isset やempty は関数ではなく言語構造なので速いです。 上記は、あくまで Null のチェックであって、 "" や false や 未定義変数 などをチェックする場合は、 それぞれ返ってくる値も異なるので注意。 インクリメントとデクリメント $i++ より ++$i $i-- より --$i の方が速い。 count() とか strlen() とか 配列の要素数を数えたりするために count() 文字列の長さを調べるために strlen() を使ったりするのだが、 ぶっちゃけ、配列の要素数が 0 か否か、文字列の長さが 0 か否か っていう判断をするだけなら、 if( count( $array ) === 0 ) { ~ } if( !strlen( $string ) ) { ~ } のような書き方するよりも、empty で判断した方が速い。 なぜなら、empty

今年の夏頃から、特にサービスとして出すわけではなく、社内で使っているシステムのリプレースを行う事になりました。主な目的はレガシーすぎる設計をある低度モダンにする事、そして他のシステムと連携出来るようにする事、です。 対象のシステム 見積書や請求書などを管理・発行している。機能はそれなりに多いがUI操作はFormベース、テーブルタグで諸情報を表示するシンプルな物。ノンフレームワークで1画面1PHPファイルな古き良き時代のコード。おそらく10年ぐらい?稼働している。当初はPHP 5.1、PostgreSQL 8.x系だったが、現在はPHP 5.6とPostgreSQL 9.6で稼働しています。 その他の社内システム かつてはノンフレームワークだったり、太古のバージョンのCakePHPだったり、PHPが4系だったりしたが、概ねCodeIgniter 3系最新版 +PHP 5.6~7.1 + P
2016/11/30 シンボリックリンク切り換えデプロイを行った際に起きるOPcacheの問題はnginx+php-fpm環境でのみ起きるのか?PHP サーバーサイド はじめに こんにちは、@tsukimiyaです。シンボリックリンク切り換えによるホットデプロイ、したいですか?シンボリックリンク切り換えによるデプロイはアトミックなデプロイを低コストで実現する手段です。最近はDeployerやCapistranoなどシンボリックリンク切り換えによるデプロイ作業を簡単に行うためのツールも充実し、自分で頑張ってシェルスクリプトを書かずとも低コストでシンボリックリンク切り換えデプロイを行う事が可能です。 ただ、PHPでのシンボリックリンクの切り換えによるデプロイについてネット上を見ていると「nginx+php-fpm環境でOPcacheを有効にしているとシンボリックリンクを切り換えてもキャッシュ

At Tumblr, we're always looking for new ways to improve the performance of the site. This means things like adding caching to heavily used codepaths, testing out new CDN configurations, or upgrading underlying software. Recently, in a cross-team effort, we upgraded our full web server fleet fromPHP 5 toPHP 7. The whole upgrade was a fun project with some very cool results, so we wanted to share
2016/10/31PHPにおけるシンボリックリンクを使ったデプロイの危険性について(「realpath_cache」和訳)PHP サーバーサイド この文書は@julienPauliさんによる記事「realpath_cache」の日本語翻訳です。元々は@gilbiteさんがKLab社内向けに翻訳したものでしたが、日本語では見たことがない指摘を含んでおり今でも有用だと考えたため、@julienPauliさんの了解を取った上で@hnwが修正・追記して公開するものです。 はじめにPHP に realpath_cache_get(), realpath_cache_size() という関数があることをご存じでしょうか? また、php.ini に realpath_cache から始まる設定項目があることは? realpath cache は知っておきたい極めて重要な概念です。 特に、コードの

問題phpでShift_JISからEUC-JPなど文字コード変換しているのですが、はしご高、㈱などの環境依存文字(機種依存文字)って化けますよね? 答えphp5.2.1から文字コードCP51932やiso-2022-jp-msが使えるようになっていて、これがあるかどうかでだいぶ違う。 CP51932 とは、EUC-JP系の文字コードで、Windows特有の文字(IBM拡張文字)が範囲に含まれる文字コード。[ [ [ euc-jp領域 ] eucjp-win領域 ] CP51932領域 ] みたいな具合。IBM拡張文字には、はしご高や異体字の黒、館、塚etc. が含まれる。 iso-2022-jp-ms は、PHP5.2.1 から追加された拡張エンコードで、iso-2022-jp でサポートされていない範囲の半角カナや機種依存文字等などに対応したエンコード。 CP51932、iso-2

yuuki takezawa@ytake @ex_takezawa どこかのCTO /技術顧問 いくつか/ モデリングや分散システムの設計・実装、アクターモデルやCQRS/ES導入支援、データ基盤やPdM・事業戦略など/一般社団法人日本テックコミュニティファシリテーター協会理事長 / 顧問や支援はお気軽にご連絡ください https://t.co/TXU9OGGzR3 yuuki takezawa@ytake @ex_takezawaphpカンファレンスでPHPデプロイツールの世界というタイトル話します。いくつかのPHP製デプロイツールを元にツールの背景やコマンド実行までのアプローチの違いなど、コマンドラインで実行されるHTTPとはまた違った世界を話す予定です。いくつかhow toも触れられれば。 2015-09-29 18:19:45

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く