php


CentOS7 php 5.4 で crypt を使う方法

CentOS 7 の php 5.4 で password_hash、password_hash、hash_equals などを使おうとすると、Call to undefined function hash_equals() などと怒られる。どうやら php 5.4 ではこれらの関数が実装されてないようです。よって代わりの案として crypt を使用する方法を紹介します。

続きを読む

apache(httpd) を使って REST API を実現するためには

apache の mod_rewrite + php を使って、REST API (Web API) を実現する為の設定方法です。ググっても中々出てこなかったのでメモっておきます。

/etc/httpd/conf.d/mod_rewrite.conf

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/api/([^/]+)/([^/]+)/([^/]+) [OR]
RewriteCond %{REQUEST_URI} ^/api/([^/]+)/([^/]+) [OR]
RewriteCond %{REQUEST_URI} ^/api/([^/]+)
RewriteRule /api/(.*) /api/index.php?para0=%1&para1=%2&para2=%3
</VirtualHost>

/var/www/html/api/index.php

<?php

	$para0 = '';
	$para1 = '';
	$para2 = '';

	if( ! empty( $_GET["para0"] ) ) {
		$para0 = urldecode( $_GET["para0"] );
	}

	if( ! empty( $_GET["para1"] ) ) {
		$para1 = urldecode( $_GET["para1"] );
	}

	if( ! empty( $_GET["para2"] ) ) {
		$para2 = urldecode( $_GET["para2"] );
	}


	print "para0 = " . $para0 . "<br>";
	print "para1 = " . $para1 . "<br>";
	print "para2 = " . $para2 . "<br>";


?>