質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

2回答

7073閲覧

smartyインストールで動作確認時にエラー(smarty3.1.30,xampp7.1.11)

nikoniko

総合スコア11

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Smarty

Smartyは、PHPアプリケーションで使用されるテンプレートエンジンです。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

1クリップ

投稿2018/01/20 06:42

編集2018/01/20 07:09

###前提・実現したいこと
smartyのインストールが上手くいかず、困っています。
C:ドライブにxamppをインストールし、smaty内のlibsディレクトリをC:\xampp\phpにコピーしたのですが、動作確認をしたところ、下に記載したエラーが表示されてしまいます。
いくつかのサイトを参考にさせて頂き、調べたのですが、ど初心者でわからず困っています。

詳しい方ご返答お待ちしています。

###発生している問題・エラーメッセージ
http://localhost/sample/sample.phpを開いたところ、

Warning: require_once(Smarty.class.php): failed to open stream: No such file or directory in C:\xampp\htdocs\sample\sample.php on line 3

Fatal error: require_once(): Failed opening required 'Smarty.class.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\sample\sample.php on line 3

というエラーが出ます。
###該当のソースコード
C:\xampp\htdocs\sample\templates\index.tqlのソース↓

<html> <head>  <title>smartyサンプル</title> </head> <body>  私の名前は<br />  {$name}<br />  です。 </body> </html>

C:\xampp\htdocs\sample\sample.phpのソース↓

<?php  require_once('Smarty.class.php');  $smarty = new Smarty;  $smarty->template_dir = './templates/';  $smarty->compile_dir = './templates_c/';  $smarty->assign('name', 'MISHIMA');    $smarty->display('index.tpl'); ?>

###試したこと
<試したダウンロード手順>
1.ダウンロードしたSmarty\libsをC:\xampp\phpにコピーし、libsの名前をsmartyに変更。

2.C:\xampp\php\php.iniのインクルードパスを
include_path =".;C:\xampp\php\pear;C:\xampp\php\smarty"
に変更し、apachを再起動。
(複数のサイトにC:\xampp\php\php.iniではなく、c:\xampp\apache\bin\php.iniの
インクルードパスを変更するように記載されていましたが、私の使用しているxamppには
その場所にphp.iniは存在しないのでこちらで試してみました。)

3.動作チェックとしてC:\xampp\htdocsに「sample」ディレクトリを作成し、
その中に「templates」「template_c」ディレクトリを作成。
また、「templates」内に「index.tql」を作成。

4.sample.phpを「sample」ディレクトリ内に作成

5.http://localhost/sample/sample.phpにアクセスし、エラーが出た。

###補足情報(言語/FW/ツール等のバージョンなど)
xampp7.1.11を使用しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

原因はsample.phpのソース間違いでした。

<?php require_once('Smarty.class.php'); $smarty = new Smarty; $smarty->template_dir = './templates/'; $smarty->compile_dir = './templates_c/'; $smarty->assign('name', 'MISHIMA');   $smarty->display('index.tpl'); ?>


require_once('Smarty.class.php');を
require_once('smarty/Smarty.class.php');に変更したところ、動きました!

Smarty.class.phpはSmartyディレクトリに入っていたので、
その指定する必要があったようです。
エラーの意味を教えて下さったshowkitさんありがとうございました。

投稿2018/01/20 11:34

nikoniko

総合スコア11

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

エラーメッセージを読むと Smarty.class.php がないと言っています。

C:\xampp\htdocs\sample
C:\xampp\php\PEAR

のどちらにもないようです。
php.ini に記述した

C:\xampp\php\smarty

は反映されていないようです。

 もう一度、php.ini の場所を確認するか、Smarty.class.php を含むフォルダをごっそり、参照しているフォルダへもっていくかすればよいかと思われます。

投稿2018/01/20 08:16

showkit

総合スコア1638

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nikoniko

2018/01/20 08:59

ご回答ありがとうございます。 参照しているフォルダとは、php.iniで指定した場所ということでしょうか? showkitさんのアドバイスを受け、php.iniの場所を確認致しましたが、C:\xampp\phpにしか見当たりませんでした。 また、C:\xampp\htdocs\sampleとC:\xampp\php\PEAR のどちらにもないということでしたので、 1.php.iniをデフォルトに戻し、Smarty.class.phpを含むフォルダをC:\xampp\php\PEAR に入れる 2.C:\xampp\htdocs\sampleにSmarty.class.phpを含むフォルダを入れる の2つを試してみたのですが、やはり同じエラーメッセージが出てしまいました・・・。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問