ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

Smartyがうごかない

PHPのSmartyがうごきません。

Smarty-2.6.16/libsを全部/usr/local/lib/Smartyに移動して、
include_pathも通ってる。はずなのに。

<?php
 require_once("DB.php"); ///usr/share/pearは通ってる
 require_once("Smarty.class.php");
?>

↓↓↓↓↓↓↓↓↓↓

Warning: require_once(Smarty.class.php) [function.require-once]: failed to open stream: No such file or directory in /var/www/html/test.php on line 3

Fatal error: require_once() [function.require]: Failed opening required 'Smarty.class.php' (include_path='.:/usr/local/lib/Smarty:/usr/share/pear') in /var/www/html/test.php on line 3

パスが通ってるのにファイルがありませんって言われる。


# ll /usr/local/lib/Smarty/Smarty.class.php
-rw-r--r-- 1 root root 63248 12月 2 00:23 /usr/local/lib/Smarty/Smarty.class.php

あるじゃん(ーー;)

# ll /usr/share/pear/DB.php
-rw-r--r-- 1 root root 42791 2月 5 17:16 /usr/share/pear/DB.php

こっちと何が違うんじゃ。


一応フルパスでも書いてみたら

<?php
 require_once("DB.php"); ///usr/share/pearは通ってる
 require_once("/usr/local/lib/Smarty/Smarty.class.php");
?>

↓↓↓↓↓↓↓↓↓↓

Warning: require_once(/usr/local/lib/Smarty/Smarty.class.php) [function.require-once]: failed to open stream: Permission denied in /var/www/html/test.php on line 3

Fatal error: require_once() [function.require]: Failed opening required '/usr/local/lib/Smarty/Smarty.class.php' (include_path='.:/usr/local/lib/Smarty:/usr/share/pear') in /var/www/html/test.php on line 3


権限がありません。なんでー・・?

[Smartyがうごかない]の続きを読む
スポンサーサイト
  1. 2007/02/27(火) 18:45:53|
  2. PHP
  3. | トラックバック:1
  4. | コメント:1

windowsでapacheのNAME virtualhostをやってみた

NAMEベースの バーチャルホスト を設定してみる。
(windows XP Home SP2 / apache2.2.3)

NAMEベースのバーチャルホスト:
 IP一つで二つの名前を持つようにすること(だと思う)
 ブラウザが送ってくるホスト名から応答ホストを決定する方式。(ということは、ブラウザがホスト名を送ってこないと動かないのか? ←あとで調べる)

apacheは、インストーラ形式のを普通にインストールしただけの状態。

まずhttpd.confの
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf

のコメントをはずす。
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

これでextra/httpd-vhosts.confが読み込まれるようになる。

次にextra/httpd-vhosts.confを見る。
VirtualHostディレクティブがすでに二つ書かれてるので、
中身を適当に書き換える。

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "C:/hogehoge/apache/htdocs"
ServerName vh1.localhost
ServerAlias www.dummy-host.
ErrorLog logs/vh1-error.log
CustomLog logs/vh1-access.log common
</VirtualHost>

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot "C:/hogehoge/apache/htdocs_2"
ServerName vh2.localhost
ServerAlias www.dummy-host.
ErrorLog logs/vh2-error.log
CustomLog logs/vh2-access.log common
</VirtualHost>


あとは設定したDocumentRootに実ファイルをおく。(順番的にはファイル置いてから設定な気がするけど気にしない) 一応、それぞれのindex.htmlは、"It works! (hv1)" と "It works! (hv2)" というように区別できるように書いておいた。

これでapacheを再起動してみる。

http://vh1.localhost/にアクセス
サーバが見つかりません。

http://vh2.localhost/にアクセス
サーバが見つかりません。

だめでした。名前解決ができてない。

hostsにAliasを設定する。
XPなら "C:\WINDOWS\system32\drivers\etc\hosts" があるはず。
127.0.0.1 localhost

たぶんデフォルトだとこの状態なので、以下のように書き換える。
(このファイルに山ほどIPとホスト名があって、特に身に覚えがない場合、たぶん怪しいソフトにやられてますので、調べるなり何なりしましょう)

127.0.0.1 localhost vh1.localhost vh2.localhost



よし、見れるハズ。

http://vh1.localhost/にアクセス
It works! (hv1)

http://vh2.localhost/にアクセス
Forbidden
You don't have permission to access / on this server.

だめでした。403ということはアクセス制限っぽい何かでしょう。
さっき設定したエラーログに
[Mon Jan 15 20:37:15 2007] [error] [client 127.0.0.1] client denied by server configuration: C:/hogehoge/apache/htdocs_v/

こんなのが出てる。
extra/httpd-vhosts.conf に
<directory "C:/hogehoge/apache/htdocs_v">
order deny,allow
deny from ALL
allow from ALL
</directory>


を追記しないとダメっぽい。

さて、見れるハズ。

http://vh1.localhost/にアクセス
It works! (hv1)

http://vh2.localhost/にアクセス
It works! (hv2)


やったー動いた。

名前解決をhostsに書いてるから、hosts書いたこのマシンからしかアクセスできないけど、そこは本題じゃないから無視!
  1. 2007/01/15(月) 21:21:58|
  2. その他
  3. | トラックバック:0
  4. | コメント:0

WindowsのApache2.2が起動しない

Apacheを起動しようとすると、こんなエラーが出る。
apache_failure.png
[error] (OS 2)指定されたファイルが見つかりません。: No installed service named "Apache2".

ApacheMonitor→startでも"httpd.exe -k start" でも変わらず。

Lavie は最初っからApache入ってて動いてたから、
それ消して新しいのを入れなおした記憶があるけど…
その過程で変なことしてたかな。

Googleで調べてみると、IISやSkypeが80番ポートをつかんでると
同じエラーになるらしい。

でも、IISもSkypeも入れてない。

ということは、ほかに80使ってるサービスがあるということ?

うーん、 netstat -a しても何もない。

スタート→管理ツール→サービス を眺めて、80使ってそうなものを探してみる。

あれ?

apache_failure_2.png

こうか…?

apache_failure_3.png



起動するようになりました。。。
  1. 2007/01/10(水) 18:28:28|
  2. Apache
  3. | トラックバック:0
  4. | コメント:0

apacheにSSL入れる

(apache2.0)
SSLを動的モジュールとして組み込む。
./configure --enable-modules=so --enable-mods-shared=max --enable-ssl
make
make install
↑DSO有効にして、標準の動的モジュールを全部入れて、SSLも入れる。

apacheのconfディレクトリにssl.confが出来てる(たしかそのハズ)。
httpd.confでこれを読み込むようにすれば終了。
Include conf/ssl.conf
↑それっぽいところに追加

おしまい
  1. 2005/09/26(月) 18:51:00|
  2. Apache
  3. | トラックバック:0
  4. | コメント:0

apache2でphp5設定

(apache2.0.54 php5.0.5)

phpのソースダウンロード
http://www.php.net/

展開
tar zxvf php5.0.5.tar.gz
cd php5.0.5


インストール
(上からapxsのパス指定、マルチバイト、マルチバイト正規表現、
 SJISで書ける、postgresqlのなにか、mysql使わない)
vi opt-configure
----------- opt-configure ------------
#!/bin/sh
./configure \
--with-apxs2filter=/usr/local/apache2/bin/apxs \
--enable-mbstring \
--enable-mbregex \
--enable-zend-multibyte \
--with-pgsql=/postgres \
--without-mysql
-------------------------------------
perl opt-configure
make
make install


PHP初期設定ファイルを配置
cp php.ini-dest /usr/local/lib/php/php.ini


apacheの設定ファイルに追加。
モジュール読んで、拡張子がphpとphtmlのファイルをphpで
パースする設定。あとついでにphpのソースも。
vi /usr/local/apache2/httpd.conf
------------httpd.conf---------------
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
-------------------------------------


確認用のphpファイルを作る
vi /usr/local/apache2/htdocs/test.php
------------test.php---------------
<?php phpinfo();?>
-------------------------------------


apache再起動
/usr/local/apache2/bin/apachectl restart


ブラウザから(http://hostname/test.php)にアクセスして
phpの情報が出ればお疲れさま。
  1. 2005/09/13(火) 15:16:04|
  2. Apache
  3. | トラックバック:0
  4. | コメント:0
次のページ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。