スレッド表示 | フラット表示〕 全トピック 920 件中 454 番目 次≫ ≪前

レンタルWebサーバーでのPHP実行について

created: 2005-03-25 00:56 | modified: 2005-03-27 18:52 | reply: 6

[2193] レンタルWebサーバーでのPHP実行について

user: もりぞう | created: 2005-03-25 00:56
初めてPHPにチャレンジしてます。
手探りの中で、PHPをインストールし、MysqlをMyphpAdminで管理したかったのですが、うまくいきません。

具体的には、自分のPC上にあるMysqlデータベースをレンタルWEBサーバー上のHPからphpMyAdminで実行する為の方法がわからないのです。

もちろん、自分のPCにアパッチもインストールすると問題なく実行できるのですが、アパッチはいろいろいな理由で自分のPC上では稼動させたくないのです。

自分が実施したのは、以下ですが、思いっきり的はずしているかもしれませんので、どなたかご教授頂けたら幸いです。

1.自分のPCにPHP(パッケージ版)をc:\PHPにコピーし、Dllをwin32フォルダにコピーし、Php.Ini-distをPhp.IniにリネームしてWindowsフォルダにコピーした。

2.phpMyAdminをc:\MyphpAdminにコピーし、config.inc.phpを以下の部分を修正した。

$cfg['PmaAbsoluteUri'] = 'http://ここにレンタルサーバーのアドレス/~phpMyAdmin/';

$cfg['Servers'][$i]['password'] = 'MysqlのRootのパスワード';

ブラウザを立ち上げて、'http://localhost/~phpMyAdmin/';と入力したが、当然のように何も表示されません。

つまり、それそれのプログラムがどのように連携して動作しているかがわからずに困ってます。PHPが使用できるというレンタルサーバーに置くべきプログラムは MysqlなのかPHPなのか、phpMyAdminなのか、それはどのファイルを実行すれば phpMyAdminの管理画面を実行できるか、あまりに初歩すぎる質問でしょうが、それを開設しているページを教えて頂くだけでも結構ですので、よろしくお願いします。
reply: 2199 返信 編集 削除

[2199] localhostじゃないよ。

user: シロウ | created: 2005-03-25 15:05
自分のPCに用意するもの
・MySQLサーバー

レンタルWEBサーバー上に用意するもの。
・phpMyAdmin一式。

以上をまず用意します。
(自分のPCにApache,PHPはいりません)

設定作業MySQL(ユーザー作成)
GRANT ALL PRIVILEGES ON *.* TO name@hostname IDENTIFIED BY 'password' WITH GRANT OPTION ;
上の例ではほぼ全部の権限を与えています。

・nameには適当なMySQLユーザー名
・hostnameにはレンタルサーバーのホスト名
・passwordには適当なパスワード


設定作業phpMyAdmin
$cfg['PmaAbsoluteUri'] = 'http://ここにレンタルサーバーのアドレス/~phpMyAdmin/';

$cfg['Servers'][$i]['host'] = '自分のPCのIPアドレス';
$cfg['Servers'][$i]['port'] = 'ポートを変える場合はポート番号';

$cfg['Servers'][$i]['user'] = 'name'; // 上で設定した名前
$cfg['Servers'][$i]['password'] = 'password'; // 上で設定したパスワード

portを変更する場合
C:\WINDOWS\my.ini
[mysqld]
port=3306


念のための設定(たぶん必要ない)
C:\WINDOWS\system32\drivers\etc\hosts
IPアドレス    レンタルサーバーのアドレス  [別名]

「例」
192.168.0.1 rental.rakuto.net rental
別名は特に書かなくて良いです。


確認の為アクセスするのは以下です。
http://レンタルサーバーのアドレス/~phpMyAdmin/
セキュリティソフトを入れているならレンタルサーバー
から自分のPCへアクセスできる設定にしてください。

お勧めする事はPHPとMySqlが用意されたレンタルサーバー
を利用するのが良いと思います。
Parent: 2193  reply: 2203 返信 編集 削除

[2203] 回答ありがとうございます

user: もりぞう | created: 2005-03-25 23:14
早速ためしてみましたが、何も表示されません。

レンタルサーバーの仕様を引用しますと、以下のようですが、これで利用可能なのでしょうか?

引用 ここから--------------------
Path
/usr/local/bin/php
- インストールされている最新版 (4.3.2)


インストールされている標準ライブラリ
 mbstring
 mbstr-enc_trans
 mbregex
 zend-multibyte


ご注意
CGIバイナリとしてインストールしています。また、webツリーの外に PHPパーサを置いていますので、拡張子は「.cgi」又は、ディレクトリ毎の設定ファイルで指定した拡張子にする必要があり、且つ、ファイルの一行目は、#!/usr/local/bin/php にする必要があります。 (safe_mode にしています)

ここまで----------------------------

この内容を読む限り、すべてのPHP拡張子をCGIに変更し、すべてのPHPファイルの先頭行に、#!/usr/local/bin/php の行を加えるというように取れますが・・・
Parent: 2199  reply: 2206 返信 編集 削除

[2206] MySQL Supportは?

user: シロウ | created: 2005-03-26 08:28
まずは、PHPの情報を確認してください。

[phpinfo.cgi]
#!/usr/local/bin/php
<?php
phpinfo();
?>
上記のファイルをレンタルサーバーへアップします。
それにアクセスするとPHPの設定情報が表示されるので、
mysqlの項目を確認します。
(CLIとして動くはず?なのでHTML形式ではないかもれません)
MySQL Supportの項目が存在しない場合や、サポートしていない場合は
もともと外部へのDB接続をサポートしていないサーバーと思います。
レンタルサーバー会社に相談すると色々設定してくれる場合があるので
交渉してみてください。


ディレクトリ毎の設定ファイルでは、たぶん以下の様に設定すれば
cgiに変更する必要はないと思います。
[.htaccess]
AddType application/x-httpd-php .php

#!/usr/local/bin/phpは基本的に呼び出しもとのファイルの一行目にあれば大丈夫です。

phpAdminだとmain.phpとかの呼び出し元。
Parent: 2203  reply: 2209 返信 編集 削除

[2209] セキュリティロックされているようですね

user: もりぞう | created: 2005-03-26 22:50
大変親切な回答、痛み入ります。

早速Phpinfoを実行してみましたが、次のワーニングが表示されて実行できませんでした。
Warning: phpinfo() has been disabled for security reasons in /cgi-bin/phpinfo.cgi

なんだかサーバー側でロックされているようにも見えますが、Pingとおんなじで攻撃対象になっちゃうから許可してないのでしょうか・・アドバイスにもありますが一度レンタルサーバー側に確認してみます。

ありがとうございました。
Parent: 2206  reply: 2210 返信 編集 削除

[2210]

user: Smarty | created: 2005-03-27 11:32
phpinfo()が制限されているなら
var_dump(ini_get_all());

それ以前に、外部から自分のデータベースにアクセスしようなどと、無茶な事は考えないことです。
ローカルで完結させることを考えてください。
# 出来ないのか_と言われればやってやれないことは無いが、自分で調べてと言うことです。
# データベースとWEBサーバはセグメントを分け、外部からアクセスできないようにするのがよいと思いますが?

http://dev.mysql.com/doc/mysql/ja/privilege-system.html
をよく読み、
http://dev.mysql.com/doc/mysql/ja/connection-access.html
辺りを確認。

# ポインタを示したからと行って、そのような行為を助長するわけではありません。念のため。
Parent: 2209  reply: 2211 返信 編集 削除

[2211] Smartyさんのおっしゃるとおりです。

user: シロウ ホームページ | created: 2005-03-27 18:52
基本的にSmartyさんのおっしゃるとおりです。
サーバー変更も含めて、サーバー会社さんと交渉されるのがよいかと思います。


以下は余談です。目を通す必要はありません。

Smartyさんのような親切な方は、調べ方を教えてくれます。
私は親切ではないので答えのようなものをどんどん書きます。
(間違えている可能性あります、一応調べたりはしています)

perlが使える場合
#!/usr/bin/perl

print "Content-Type: text/html\n\n";
print <<HTML;
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<title>head</title>
</head>
<body>
<pre>
HTML
print `/usr/local/bin/php -i`;
print <<HTML;
</pre>
</body>
</html>
HTML
以下にしてもいいと思います。(mysqlが無いとなにも表示されません)
print `/usr/local/bin/php -m | grep mysql`;

php.iniをひょっとしたら自作のものへ変更できる。
#!/usr/local/bin/php -c myphp.ini
<?php
$result = extension_loaded('mysql');
var_dump($result);
?>
phpコマンドの-cオプションを指定する。
(このレンタルサーバ屋さんはセキュアにPHPをコンパイルしていそうですが)

-dオプションもチェックしてください。
http://jp2.php.net/manual/ja/features.commandline.php
Parent: 2210  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 454 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑