PHP 8.1/ Smarty
OSが「Windows Server 2019」 のWindows共用/専用サーバーの PHP / Smartyについて、具体的な使用例などをご案内いたします。
このページは、OSが「Windows Server 2019」のWindows共用・専用サーバーにインストールされているPHP8.1系の概要ページです。
※ OSが「Windows Server 2022」のWindows共用・専用サーバーのPHP (PHP8.2系)についてはこちらをご覧ください。
※ 2024年9月以前にセットアップされた、OSが「Windows Server 2019」のWindows専用サーバーのPHP (PHP7.4系)についてはこちらをご覧ください。
※ OSが「Windows Server 2016」のWindows共用・専用サーバーのPHP (PHP7.1系)についてはこちらをご覧ください。
ご利用頂いているサーバーのOSのバージョンは、利用しているドメインのウェブサーバーのユーザーページ(コントロールパネル)へログインし、ユーザーページ左下の「ご利用バージョン」欄に記載されています。
PHP 8.1系について
「PHP」とは、HTMLファイルの中に直接プログラムを書き込むタイプのスクリプト言語です。
PHPの特徴として、手軽に高度なスクリプトを動作させられる点、SQL Serer や MySQL などのデータベースへの接続が標準でサポートされているため連携が容易に行える点、Perl(CGI)に比べると動作が軽快で、サーバーへの負荷も軽くなる点が挙げられます。
- PHPは、FastCGIで動作します。
- PHPのバージョンは、8.1.29です。
- PHPの実行ユーザーは、お客様のユーザーになります。
- Pearの利用はできません。テンプレートエンジン Smarty は利用できます。
SPPDレンタルサーバーのPHPの特徴
phpの動作する拡張子について
拡張子 .php のファイルが php8のスクリプトとして動作します。(.php8では動作しません)
サービスの種類 | PHPの拡張子 |
Windows専用サーバー | .php |
PHPプログラムのパーミッションについて
PHPプログラムを動作させるために、パーミッションの設定の必要はありません。また、PHPプログラムはお客様のユーザーで実行されますので、標準の設定でPHPプログラムからファイルに書き込みを行うことができ、ディレクトリやファイルの権限の変更は必要ありません。
PHPの設定の詳細
機能名 | 具体的な拡張機能名/DLL(上級者向け) |
---|---|
日本語機能 | mbstring 関数(php_mbstring.dll) / iconv 関数 |
圧縮機能 | BZ2 関数 (php_bz2.dll) / ZIP 関数 / zlib 関数 |
画像処理機能 | GD 関数-Freetypeサポート有り( php_gd.dll ) / Exif 関数 |
ソケット関数 | ソケット関数 (php_sockets.dll) |
SQL Server | SQLSRV関数 (php_sqlsrv_81_nts_x64.dll) |
MySQL | MySQLi 関数 (php_mysqli.dll) / MySQL nd関数 |
PDO | PDO-MySql 関数 (php_pdo_mysql.dll) / PDO-SQLSRV 関数 (php_sqlsrv_81_nts_x64.dll) |
FTP | FTP 関数 |
XSL | XSL 関数 (php_xsl.dll) |
XML | SimpleXML / XML 関数 / libxml / dom(DOM/XML) |
SOAP | SOAP 関数 (php_soap.dll) |
Imagick | Imagick 関数 (php_imagick.dll) |
OpenSSL | OpenSSL関数 (php_openssl.dll) |
cURL | cURL関数 (php_curl.dll) |
国際化関数 | 国際化関数 (php_intl.dll) |
その他 | GetText (php_gettext.dll) / hash(mhashサポート有り) |
PHP.INIの設定(抜粋:上級者向け)
項目名 | php.iniの値 |
---|---|
mbstring.language | Japanese |
mbstring.encoding_translation | OFF |
display_errors | OFF |
default_mimetype | text/html |
default_charset | UTF-8 |
session.use_cookies | 1(On) |
session.use_only_cookies | 1(On) |
max_execution_time | 60 |
upload_max_filesize | 20M |
post_max_size | 20M |
short_open_tag | OFF ※1 |
memory_limit | 128M |
※1 short_open_tagがOFFの場合、<? は使えず、<?php との記載が必須になります。
Smartyについて
「Smarty」とは、PHPスクリプトからデザイン部分を切り離してWebサイトの構築を行うための機能(テンプレートエンジン)です。Smartyを利用することで、PHPスクリプトとHTMLのデザインが分離されますので、見通しの良いWEBアプリケーションを構築することが可能です。
Smartyの利用方法
PHPプログラムに下記を記述して頂くことで、Smarty機能が有効となります。なお、OSが Windows Server 2019 のサーバーの場合はバージョン3.1.33をご利用頂けます。
require 'Smarty-3\libs\Smarty.class.php'; // Smarty 3系を利用する場合
なお、Smarty が内部的に必要とする templates / templates_c フォルダーにつきましては、以下の作成例をご参照の上、任意の場所にお客様にて作成ください。
- フォルダー作成例1 (FFFTP)
- フォルダー作成例2 (FFFTP)
- フォルダー作成例3 (FFFTP)
Smartyの具体例
下記に具体的な使用例を記述させて頂きます。プログラムの記述方法につきましては、サポートの対象外となりますので、後述の 参考書籍などをご参照ください。
※ 以下の例では、templates / templates_c フォルダーを www と同じ階層の / に作成しております。 [Smartyを利用したPHPプログラム] ファイル名:index.php アップロード先:/www/ <?php require_once('Smarty-3\libs\Smarty.class.php'); $smarty = new Smarty(); $smarty->template_dir = '../templates/'; #templates フォルダーの場所 $smarty->compile_dir = '../templates_c/'; #templates_c フォルダーの場所 $smarty->assign('message', 'Hello, smarty!'); $smarty->display('index.tpl'); ?> [Smartyのテンプレートファイル] ファイル名:index.tpl アップロード先:/templates/ <html> <head> <title>test</title> <body> {$message} </body> </head> </html>
Smartyのお薦め参考情報
Smarty 3系の公式マニュアル(外部サイトへのリンク)