mysql系の関数がPHP7でエラーになる場合の対応

PHP5.XからPHP7にアップデートした際にmysql系の関数がエラーになっていたので、
その際に行なった対応をメモしておきます。

  1. 関数名を「mysql_xxxx()」から「mysqli_xxxx()」に変更する。
  2. 関数の引数が「第1引数:設定値」「第2引数:mysqlオブジェクト」である場合は
    順番を逆にする。(第1引数がmysqlオブジェクトとなるようにする)
    ※ここで言うmysqlオブジェクトとは、「mysqli_connect」の返却値の事です。
  3. mysqli_error()には、引数にmysqlオブジェクトを設定します。
    これ以外にも「mysql_xxxxx()」では引数不要であったものは「mysqli_xxxxx()」では引数に
    mysqlオブジェクトが必要になっているかもしれません。
Share

ダイジェスト認証の設定方法

Apacheで動いているWEBサーバにて、ダイジェスト認証を入れる方法です。
■環境
CentOS Linux release 7.2.1511 (Core)
Apache/2.4.6

Apacheがダイジェスト認証に対応しているか確認します。
以下のコマンドにて結果が出力されれば対応しています。

# grep digest /etc/httpd/conf.modules.d/ -r
conf.modules.d/00-base.conf:LoadModule auth_digest_module modules/mod_auth_digest.so

ダイジェスト認証用のIDとパスワードのセットを作成します。
下記の「Sample Auth」は認証名で「sampleuser」は設定するIDです。適宜書き換えてください。
また「/etc/httpd/conf/.hpass」が生成されるファイルですが、パスもファイル名も任意です。

# htdigest -c /etc/httpd/conf/.htpass ’Sample Auth' sampleuser
Adding password for sampleuser in realm Logical Dice Auth.
New password: ←設定するパスワードを入力する
Re-type new password: ←設定するパスワードを再度入力する

あとはApacheの設定ファイルにて設定をします。
以下の例では「/var/www/html/sample」配下のコンテンツにWEBブラウザにてアクセスした際に
ダイジェスト認証が表示されるようになります。
下記のAuthUserFileは上記で生成したファイルを指定してください。

<Location "/sample/">
   AuthType Digest
   AuthName “Sample Auth"
   AuthUserFile "/etc/httpd/conf/.htpass"
   Require valid-user
</Location>

これでApacheの設定ファイル再読み込み(再起動)をすればダイジェスト認証がかかるようになります。

Share

【FuelPHP】PHP7対応版へのアップデート

FuelPHPのdev-1.7がPHP7に対応していなかったので、
既存プロジェクトをPHP7に対応しているdev-1.8にアップデートします。
※dev-1.8が正式にmasterとして公開されていない現時点の手順です。
 もし正式にPHP7対応版が出たらこの手順は不要です。

■環境
CentOS Linux release 7.2.1511 (Core)
FuelPHP dev-1.7/master

FuelPHPのプロジェクトディレクトリで以下コマンドを実施してcomposer.jsonを書き換えます。

sed -ie “s/dev-1.7\/master/dev-1.8\/develop/g” composer.json

以下コマンドでFuelPHPのアップデートをします。

php composer.pher update

以上でPHP7対応版にアップデートされます。

Share

【CentOS】php7をyumインストールする

php7がリリースされたので、CentOS7のサーバにyumでインストールした手順です。

■環境
CentOS 7.1.1503

以下コマンドを実行するだけです。
epel導入済みであれば1行目は不要です。3行目は必要なパッケージで読み替えてください。

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install php70w php70w-mbstring php70w-mysql php70w-pdo php70w-xml
Share

【CentOS】ComposerにGitHubのアクセストークンを設定する

今更ながら、ComposerにGitHubのアクセストークンを設定する方法です。

■環境
CentOS 7.1.1503

  • GitHubのアカウントを持っていない人は作ります。特に解説は不要なはず。
    https://github.com/

  • GitHubにログインし、右上のアイコンから「Settings」>「Personal access tokens」からアクセストークンを作成します。
    画面を閉じるとトークンを見れなくなるので、閉じる前にメモしてください。

  • Composerをインストールしていない人は以下を参照
    http://nonsensej.xyz/?p=515

  • 以下のコマンドでComposerにGitHubのアクセストークンを設定します。
    composer config –global github-oauth.github.com {②で取得したアクセストークン}
Share