明滅するプログラマの思索

WEBエンジニアとして勤務している一介の男が、日々気づいたことをまとめるブログです

自作ライブラリをSubversionでバージョン管理し、composer でインストールする

自作のライブラリを composer 経由でインストールできるようにしたい。
ただし社内だけに公開したい。

そういった場合に、VCS(バージョン管理システム)にコミットしたものを composer 経由でインストール(チェックアウト)できます。
今回は、社内で VCS として Subversion を利用している場合の構築についてまとめます。

続きを読む

composer を使おう

composer とは、PHPのライブラリを依存パッケージごと管理するツールです。 これまでにも PHP のライブラリツールとしては PEAR がありましたが、現在では composer でインストール可能なものはこちらで管理する流れが出来上がっています。
今回は今更ですが composer を導入するための手順についてまとめます。

導入環境

ソフトウェア バージョン
CentOS 7.3
PHP 5.6
続きを読む

ストリーミング動画のプレイリストを非同期に切り替える

3つ目の HLS(HTTP Live Streaming)ネタです。
HLSプレイリストをPCで再生する場合、video.js ライブラリを利用すると楽です。

<html>
<head>
<link href="https://vjs.zencdn.net/6.2.7/video-js.css" rel="stylesheet">
<script type="text/javascript" src="./js/jquery-2.1.1.min.js"></script>
</head>
<body>
<div class="movie_content_cap">
  <video id="player" class="video-js vjs-default-skin" height="404" width="720" controls poster="./st_capture.jpg">
  <source id="player_source" src="st.m3u8" type="application/x-mpegURL" />
</video>

<script src="https://vjs.zencdn.net/6.2.7/video.js"></script>
<script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.10.1/videojs-contrib-hls.js"></script>

<script>
$(function() {
  videojs.options.flash.swf = 'https://unpkg.com/videojs-swf@5.4.0/dist/video-js.swf';
  var player = videojs('player');
  $('#player').on('touchstart mousedown', function(e) {
    e.preventDefault();
    player.play();
  });
});
</script>

jQuery を利用しています。

続きを読む

PHP で Yahoo!ID連携v2 の認証を行う

Yahoo!ID連携は現在 v2 と呼ばれるバージョンで OpenId 認証が可能です。
それまで使用されていた v1 は今年の3月以降、新規の登録が不可能となりました。
Yahoo!ID連携v1 は、PHPSDKが用意されており、実装が楽になっていますが、v2 では Javascript SDK があるのみで、その他の言語の SDK は用意されていません。
ただ、OpenId Connect 準拠となっていることから、サードパーティの認証ロジックをほぼ変更することなく実装が可能となっています。
当記事では Yahoo!ID連携v2 の認証を PHP で実装し、クライアントのメールアドレスを取得するまでの流れをご紹介します。

導入環境

ソフトウェア バージョン
PHP 5.6

PEAR のライブラリ Net_URL および HTTP_Request2 を利用します。

続きを読む

PHPのMediaInfoパッケージを利用してHLS用に動画分割する

HTTP Live Streaming を実装する際、もともとの動画ファイルを分割し、プレイリストファイル(m3u8)を作成する必要があります。

HLS(HTTP Live Streaming) を構築する - 明滅するプログラマの思索

で分割する流れをまとめてありますが、今回はこれをPHPで自動化します。

導入環境

ソフトウェア バージョン
CentOS 6.8
PHP 5.6
続きを読む

Google Cloud Platform の負荷分散に Let's Encrypt のSSL証明書を設定する

Google Cloud Platform(以下 GCP)で利用可能なロードバランサでフロントをSSLにするために Let's Encrypt を利用することができます。
この件については、以下の参照先が大変参考になります。

qiita.com

ここでは、参照先の内容を踏まえて気を付けるべき点と、自動化するための設定をまとめます。

続きを読む

Apache ユーザに別のユーザとして処理を実行させる

Apacheで立てた Web サーバにリクエストを送り、それをトリガとしてサーバ上で操作を行う場合、その実行ユーザはデフォルトでは apache ユーザとなります。
これだと、そのファイルのユーザ・権限によっては、アクセス権がなく実行に失敗してしまうことが考えられます。
もちろんアクセス権を事前に変更しておき、apache ユーザでも処理を行うことができるようにする、というのも1つの方法ではありますが、そういった処理をしたくない場合もあります。
そういった場合、linux なら sudo コマンドを利用して、別のユーザとして処理を実行することができます。

ソフトウェア バージョン
CentOS 7.3
PHP 5.6
続きを読む