PHPカンファレンス小田原2024 の発表資料です。 https://phpcon-odawara.connpass.com/event/296492/ https://fortee.jp/phpconodawara-2024/proposal/7c57d5ca-213a-4d7a-aaf0-26ddc44897f0
![FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション](https://cdn-ak-scissors.b.st-hatena.com/image/square/f3781a2e50ef44bcaae8b51ef80f93cada799ea9/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F9ada4bc0ff194c9ab500063c0a75dec5%2Fslide_0.jpg%3F29718276)
Linuxならwhois情報(ドメインの登録者情報等)を取得するのもwhoisコマンド一発なのですが、Windowsではそのコマンドがありません。 一応、MSが配布しているwhoisツールがここ↓にあるので、これを使えば同じことも出来るんですけどね。 https://docs.microsoft.com/ja-jp/previous-versions/bb897435(v=msdn.10) 今回はWindows上で動かしているWebサーバー(nginx+PHP)環境でドメインのwhois情報を取得したいなぁ~と思いまして、ちょっと調べてみました。 PEARライブラリのNet_Whoisについて 簡単にやるならPEARライブラリのNet_Whoisというのがあると聞いてさっそく調べたのですが、これ、引数が「whoisサーバー名」と「調べたいドメイン名」なんですよ。 <?php require
ホームページをリニューアルした際にURLが変わってしまうことがあります。 例えば、ファイルの拡張子を変えたとき。リニューアルを機にPHPを使い始めたため、ファイルの拡張子を『.html』から『.php』に変更せざるを得ない場合などです。 ソースコード内にPHPのプログラムを書くことで、ホームページをさらに機能的にできるのですが、基本的には拡張子が『.php』のファイル内でしかPHPのプログラムを使えません。そのため、これまで『.html』拡張子でホームページを公開していた場合は、『.php』拡張子に変更せざるを得ないのです。 とはいえ、拡張子が変わるとURLも変わり、そのURLのページが検索エンジンから受けていた評価がなくなる懸念があります。SEOの観点からそれは避けるべきでしょう。 解決策は、『.html』のままPHPが動作するように設定すること。htaccessの設定で、それが可能にな
こんにちは、タカフです。 Dockerでローカルマシンに開発環境を構築する時の悩み・やりたいことって色々ありますよね。 例えば僕の場合はこんな感じです。 コマンド一発でローカルマシンにLAMP開発環境を作りたい おなじみのポート番号アクセスはやめてドメインアクセスにしたい ローカル開発環境とてSSLで開発を進めたい DocumentRootはプロジェクト配下のサブディレクトリ(public/htdocs等)にしたい PHPのXdebugは使えるようにしたい(もちろんWebもCliも) MySQLのDBデータはホスト側にもって永続化させたい といったところでしょうか。 もしあなたがDockerでLinux・Apache・PHP・MySQL開発環境を作るにあたって、この中に該当するものがあったなら本記事の内容はお役に立てるかもしれません。 今回全て解決して、その構築方法を記しました。 コマンド
こちらのスライドは以下のサイトにて閲覧いただけます。 https://www.docswell.com/s/ockeghem/ZM6VNK-phpconf2021-spa-security シングルページアプリケーション(SPA)において、セッションIDやトークンの格納場所はCookieあるいはlocalStorageのいずれが良いのかなど、セキュリティ上の課題がネット上で議論されていますが、残念ながら間違った前提に基づくものが多いようです。このトークでは、SPAのセキュリティを構成する基礎技術を説明した後、著名なフレームワークな状況とエンジニアの技術理解の現状を踏まえ、SPAセキュリティの現実的な方法について説明します。 動画はこちら https://www.youtube.com/watch?v=pc57hw6haXkRead less
サーバーエンジニアを行っているinamuuと言います。夏頃にお声がけをいただいてから、ご報告までしばし時間を要してしまいました。 この記事では、最近放置気味となっていた、専用サーバーからメンテナンス性、コスパの良いVPSサーバーへ移行、アップデート過程の作業ログとしてまとめています。 今回実施したことは、大きく分けて以下の3つです。 サーバーの引っ越しとアーキテクチャの簡略化 サイトのSSL暗号化 テスト環境の構築 サーバーの引っ越し もともと専用サーバーを使っており、メモリも大量に積んでいましたが、あまり使用されていなかったことから、VPSサーバーへの移行を実施しました。 スペックについては割愛しますが、専用サーバーへsysstatを導入し、しばらく様子を見て見積もりを実施しました。 次に、アーキテクチャーについては、下記ではnginx+Apache(mod_php)を採用されていました
はじめに 皆様こんにちは。OPTiM新卒1年目エンジニアの青木です。 前回は早押しボタンなんかを作っていました。 tech-blog.optim.co.jp 今回は、PHP フレームワークの Laravel を、PostgreSQL と Vue.js と組み合わせて作成する TODO アプリを通して紹介します。 このフレームワークらはこちらの記事でも密かに利用しています。 tech-blog.optim.co.jp OPTiMではあまり利用されていませんが、一部のアプリケーションで実利用されている箇所もございます。 PHPは昔のイメージからかなり避けられていていますが...今のPHPとそのフレームワークはすごく発展していてとても使いやすいので是非使っていただきたい!という気持ちがあります。 ですが、現状はあまり利用していただけなくて個人的には悲しい気持ちでいっぱいです。 そんなPHPですが
いまどきphp5.1.6を使っている時点でおかしいんだけど、以下メモ。 echo 1881330971012748; // 1.8813309710127E+15 echo (float)1881330971012748; // 1.8813309710127E+15元のまま表示したい場合は以下のようにする echo sprintf("%.0f",1881330971012748); // 1881330971012748なお、指数表記からの完全な復元は不可能ぽい(下2桁が丸められちゃってるから) echo sprintf("%.0f",1.8813309710127E+15); // 1881330971012700困ったのがServices_JSON::decode()を使った時も、勝手に指数表記になってしまったこと。 仕方なく、Services_JSONの500行目あたりに以下のよう
この記事は賞味期限切れです。(更新から1年が経過しています) PHPで外部のリソースを取得するのに大変便利なfile_get_contents関数ですが、 cURLの環境があるなら利用したほうがパフォーマンスがいいぞというお話。 パフォーマンスの差 具体的にどれくらいパフォーマンスが変わるのかというと… モバイル回線のノートでYahoo!のトップページを取得してざっくり計測したところ、 file_get_contents : 4秒前後 cURL : 2秒前後 概ねこんな感じとなりました。 勿論時間帯や回線など様々な要因にもよりますが、 ちょっと無視出来ない数字ですね。 簡単な使い方 cf) PHP: cURL – Manual curl_init()で初期化 curl_setopt()でオプションを設定して curl_exec()で実行 curl_close()で終了 というのが一連の流れ
Gulpとbrowser-syncを使ってHTMLのコーディングを行っている際に、一部PHPファイルを使いたいという状況があったので、その時に設定した方法をメモしておきます。 設定方法 browser-syncとgulp-connect-phpを使用するので、それぞれをインストールします。 npm install browser-sync --save-dev npm install gulp-connect-php --save-dev gulpfile.jsに処理を記述します。 gulpfile.js var gulp = require('gulp'), browserSync = require('browser-sync'), connect = require('gulp-connect-php'); gulp.task('server', function() { conne
こんばんは。 ローカルでの開発環境として今までMAMPを使っていましたが、MacにはMAMPを使わずともApacheやPHPなどがあるので、どうせならそちらを使いたいと思い、MAMPを使わない環境構築をしてみました。 今回は、Apache、PHP、MySQL、phpMyAdminを使えるようにしました。また、全てHomebrewで管理したかったので、デフォルトでPHPなどは入っているんですがそれは使わずにbrewでインストールしました。 PHPに関しては、PHPの複数バージョンを入れられるphpenvというものがありますのでそれを使いました。 前にrbenvやpyenvなどを入れましたが(こちら)、その時みたいに結構簡単にできるかなーと思ったら意外と詰まってしまいました。 MySQLのインストール まずはMySQLのインストールです。rootのパスワードまで決定しちゃいます。 やり方は以下
PHPで土日祝の一覧を設定するプログラムを作成したので自分用にメモです。 最後にコードを載せています。ご参考にどうぞ。 祝日取得用class こちらを参考にいたしました。 祝日を自動判定するDateTime拡張クラス http://qiita.com/chiyoyo/items/539dc2840a1b70a8e2c3 以下のようにすると、祝日かどうか判定してくれます。 $holiday_datetime = new HolidayDateTime("2016-01-02"); $holiday_datetime->holiday(); 実装コード コピペだけで使用できるようになっています。 不明点あればコメントで質問ください。 $weekday = array( "日", "月", "火", "水", "木", "金", "土" ); // 2016年から3年分取得 for ($now_
Intro この資料は、私が仕事で手がけた WordPress カスタマイズ系プロジェクトのコードをメンテしたり追加開発したりするステキな人たちへ向けたものですが、社内に閉じてない範囲をここに記す。コメントなどでの指摘歓迎。 WordPress、プラグイン機構(hook)が充実、というかデフォルトのブログシステムも自身のプラグイン機構に乗る形で作られている。そのため、モデルがブログ的でありさえすればフレームワークとして使うことも可能。これまで、やれアプリ向け API を追加してみたり、完全別システム用 CMS にしてみたり、よくまあやったものだ。 これ WordPress でやれるんだあ!?的な意味で魔改造と揶揄しているがいたって正攻法の改造である。1 Pros/Cons 以下、WordPress のよいところでもあり、裏返すと弱点でもある特徴のいくつか 2 とにかく利用者が多い。オープン
ここではPEAR::Authの使い方について確認していきます。PEAR::AuthはPHPアプリケーションでフォームを使ったユーザー認証を行うための便利な機能を提供してくれます。 Authパッケージがインストールが行われていない場合は下記のいずれかの方法にてインストールを先に行っておいて下さい。 pear install Auth pear install -a Auth pear install -o Auth
HOME | TOP ■ 概要 セッションは、アクセスしてきた人が次にアクセスした時も同一のマシン環境からかどうかを判別するための仕組みです。 セッションを開始する時には『セッションID』というものを発行します。 これはその場で生成したランダムな文字の並びなのでこの中に情報が盛り込まれているということはありません。 アクセスしてきたユーザとは何の関連性もないただのランダムな文字列を発行することは、セッションIDを他の情報から割り出されないようにするためには重要なことです。 発行したセッションIDは、一方はアクセスしてきた人のブラウザに保存してもらい、もう一方はサーバ側で持っておきます。 このブラウザ保存はクッキーと言われる仕組みを使っているのでブラウザがクッキーを受け入れない設定になっていればこの方法は使えないということになります。 ログイン認証の時には、ユーザ名とパスワードが一致すればセ
今回はログイン・ログアウトの仕組みについて解説します。ログインフォームから入力したユーザ名・パスワードが正しければログインした状態となり、ログインしたユーザのみが閲覧できるページを作ってみましょう。ただし、今回解説する内容はかなり簡易的ですので、個人情報など漏洩すると問題となるような情報を保持している場合などにはおすすめできません。 ログインフォーム ログインしていない状態であればユーザ名・パスワードの入力フォームを、そうでなければログアウトのためのリンクが表示される仕組みとなります。ここではこのファイルを「form.php」という名前で保存します。 スクリプト <?php session_start(); if($_COOKIE['ponta-php'] == 'ponta-php member' || \ $_SESSION['ponta-php'] == 'ponta-php mem
パスワードフィールドに入力された文字列を設定されたパスワードと照合し、一致していたらログイン後画面に飛ばす 簡単なログイン処理のサンプルソースです。 CookieとSession両方晒しておきます。 phpファイルを二つ用意しますが、便宜的に login.php → ログイン画面 admin.php → ログイン後画面 としています。 先頭行にパスワードを設定する定数がありますが、 ファイル数の多いスクリプトではconfig.phpなどを作ってincludeすることが多いです。 ログイン処理の流れは大体こんな感じです。 パスワードフィールドに文字列入れて送信 送信された文字列が設定されたパスワードと一致するか確認 一致していたらクッキー、またはセッションに暗号化したパスワードを保存して次のページへ遷移 一致していなかったらエラーメッセージを出す ログアウト処理について追記しました Cook
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く