人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Fedora Core5(Bordeaux)のDVDでFC5をインストールして、yumでpostfix,php,php-gd,php-mbsting,php-mysql,mysql-serverも追加でインストールしました。
この状態で、コマンドライン版のPHPを用いて、MySQLを扱う関数を使えるようにするには、どのように設定したらよいでしょうか? 現在の状況は実行すると、phpのヘルプが表示されてしまいます。
[資料]
HTMLでのphpinfo();https://hgu.ac/test.php
コマンドラインでのphpinfo();https://hgu.ac/test.txt

●質問者: sarumack
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:DVD Fedora Core Gd HTML MySQL
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● sera_yr
●27ポイント

phpinfoの情報を見る限り、コマンドラインからのPHPでも既にMySQLを扱う関数は使えるようになっていると思います。

http://www.spencernetwork.org/memo/tips-6.php

こちらにてコマンドライン版のPHPの書式を再度確認し、ここにあるtest.phpを実行してみてはどうでしょうか。

test.phpが正しく実行されるようであれば、MySQLを扱う関数を記述しても正しく動作すると思います。

◎質問者からの返答

回答ありがとうございます。

実は私も教えていただいたURLで確認して、CLI版のPHP単独では動作することを確認しました。

ところが、例えばそのスクリプトの後ろに、

mysql_connect('localhost','user','pass');

を入れた途端、たぶんエラーなのかphpのヘルプメッセージが表示されてしまいます。

php(cli)とmysqlとの兼ね合いでどこが問題なのかご教示願えたら幸いです。


2 ● えるふん
●27ポイント

多分問題の原因を勘違いされていると思います.

その「たぶんエラーなのかphpのヘルプメッセージ」というのをGoogleなどにコピペするか回答にコピペしてみると解決の糸口がつかめると思います.

◎質問者からの返答

6.emlはメール1通分です。

tips7.phpの中身は、

-----

#!/usr/bin/php -q

while(!feof(STDIN)){

$line=fgets(STDIN);

//件名取得

if(substr($line,0,8) == "Subject:"){

$subject=trim(substr($line,8));

}

//アドレス取得

if(substr($line,0,5) == "From:"){

$addr=trim(substr($line,5));

}

}

echo "subject=$subject\n";

echo "address=$addr\n";

mysql_connect('localhost','user','pass');

//mysql_select_db('mms_db');

//mysql_query('set character set utf8'); //「はてな」を参照

//$sql="update t_student set s_kaddr='$addr' where s_id='$subject';

//mysql_query($sql);

?>

-----

です。これで次を実行するとこんなになります。

[root@xoops mms]# cat 6.eml | ./tips7.php

Usage: php [options] [-f] <file> [--] [args...]

php [options] -r [--] [args...]

php [options] [-B <begin_code>] -R [-E <end_code>] [--] [args...]

php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]

php [options] -- [args...]

php [options] -a

-a Run interactively

-c <path>|<file> Look for php.ini file in this directory

-n No php.ini file will be used

-d foo[=bar] Define INI entry foo with value 'bar'

-e Generate extended information for debugger/profiler

-f <file> Parse <file>.

-h This help

-i PHP information

-l Syntax check only (lint)

-m Show compiled in modules

-r Run PHP without using script tags

-B <begin_code> Run PHP <begin_code> before processing input lines

-R Run PHP for every input line

-F <file> Parse and execute <file> for every input line

-E <end_code> Run PHP <end_code> after processing all input lines

-H Hide any passed arguments from external tools.

-s Display colour syntax highlighted source.

-v Version number

-w Display source with stripped comments and whitespace.

-z <file> Load Zend extension <file>.

args... Arguments passed to script. Use -- args when first argument

starts with - or script is read from stdin

--rf <name> Show information about function <name>.

--rc <name> Show information about class <name>.

--re <name> Show information about extension <name>.


3 ● sera_yr
●26ポイント

tips7.phpの2行目に「<?php」が無いようですが、コピペミスでしょうか。もしソースに無いのであれば原因はこれではないかと思います。

ソースに「<?php」があってなお、同じような現象がおきているのであれば、以下のソースで試してみてはいかがでしょうか。

#!/usr/bin/php -q

<?php

$ret = mysql_connect('localhost','user','pass');

if( $ret === false ) echo "error";

?>

◎質問者からの返答

回答ありがとうございました。

「<?php」はコピーミスです。申し訳ありません。

教えていただいたソースをtips8.phpとして実行してみました。結果は以下のとおりでした。

----

[yamamoto@xoops mms]$ ./tips8.php

Usage: php [options] [-f] <file> [--] [args...]

php [options] -r [--] [args...]

php [options] [-B <begin_code>] -R [-E <end_code>] [--] [args...]

php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...]

php [options] -- [args...]

php [options] -a

-a Run interactively

-c <path>|<file> Look for php.ini file in this directory

-n No php.ini file will be used

-d foo[=bar] Define INI entry foo with value 'bar'

-e Generate extended information for debugger/profiler

-f <file> Parse <file>.

-h This help

-i PHP information

-l Syntax check only (lint)

-m Show compiled in modules

-r Run PHP without using script tags

-B <begin_code> Run PHP <begin_code> before processing input lines

-R Run PHP for every input line

-F <file> Parse and execute <file> for every input line

-E <end_code> Run PHP <end_code> after processing all input lines

-H Hide any passed arguments from external tools.

-s Display colour syntax highlighted source.

-v Version number

-w Display source with stripped comments and whitespace.

-z <file> Load Zend extension <file>.

args... Arguments passed to script. Use -- args when first argument

starts with - or script is read from stdin

--rf <name> Show information about function <name>.

--rc <name> Show information about class <name>.

--re <name> Show information about extension <name>.

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ