• 締切済み

PEARライブラリで携帯サイト開発

はじめまして PHP初心者でjavaを多少かじった程度のものです 現在、携帯サイトを作成しております 質問点はPEAR::Net_UserAgent_Mobileに関してです このライブラリ内のMobile.phpをrequireしたいのですが、なんど試してもうまくいきません。 コマンドからインストールして利用した場合はうまく動くのですが 直接、ライブラリをダウンロードして作業フォルダに格納して使おうと思うと 真っ白画面が。。。 記述 コマンドインストール実行の場合   require_once('Net/UserAgent/Mobile.php'); 手動で設置した場合   require_once(dirname(__FILE__).'/../lib/Net/UserAgent/Mobile.php')); です。 フォルダ構成は, htdocs┐      ─scriptフォルダ─hoge.php(ここでrequireを記述しています)      ─libフォルダ┐              Netフォルダ┐                     UserAgentフォルダ─Mobile.php となっています 何が対応方法はもちろん、参考URL、気になったところなんでも結構です。 OS  UNIX 言語 PHP,HTML よろしくお願いします                                 

  • PHP
  • 回答数2
  • ありがとう数2

みんなの回答

  • kirin_f
  • ベストアンサー率51% (44/85)
回答No.2

直接の解答ではないですが、 とりあえず、 error-reportingとかdisplay-errorsを設定して、エラーメッセージをだすようにすれば、少しは原因がわかるのでは?

参考URL:
http://jp.php.net/manual/ja/errorfunc.configuration.php#ini.error-reporting
eclipsePG
質問者

お礼

>kirin_f様 ご回答ありがとうございます。 なるほど、そういう考えにいたらなかったことに猛省でございます。 仕事としてENDをきられるといつも結果だけをもとめてしまっているので。。。 こういう柔軟な対応をまず考えることが大切だと改めて気づかされました。 現在のタスクが落ちつき次第確認したいと思います。 ありがとうございました。

回答No.1

おそらくlibにパスが通ってないからでは? PEARライブラリを手動で設置する場合は、設置先ディレクトリに パスを通して以下の方法でインクルードできるようにしなくてはいけません。 require_once('Net/UserAgent/Mobile.php'); あと、これはどうだったか分かりませんがlibの直下にPEAR.phpもほしいかもしれません。

eclipsePG
質問者

お礼

>mookun2007さん ご回答ありがとうございます。 ご指摘のとおり、php.iniにPEARのインクルードパスが通ってませんでした。 iniファイルを変更できない仕様でしたので、カレントディレクトリでPEARまでのパスを set_includepath(hoge/hoge/hoge/PEAR) で設定したところライブラリの使用が可能になりました。 ご指摘ありがとうございました。 ちなにみPEAR.phpというよりもPEAR.phpのあるPEARディレクトリごと設置するほうが他のPEARライブラリを使う場合(DBなど)に便利だと思いまるまる/lib直下に配置しました。

関連するQ&A

  • PEARのライブラリを使うと文法エラー

    現在PHP5でプログラムをしていますが、非常に困っています。 PEARのライブラリNet_UserAgent_Mobileを使用しているのですが、このライブラリを呼び出している行で文法エラーが出てしまいます。 ソースとエラーは以下のような感じです。 [ソース] <?php require_once('Net/UserAgent/Mobile.php'); class MyMobile extends Test { $agent = Net_UserAgent_Mobile::singleton(); function __construct() { } (以降省略) [エラー] 抜粋 PHP Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /somedir/MyMobile.php on line 5 エラー内容から察するに、Net_UserAgent_Mobile::singletonの部分が問題だと思うのですが、まったく原因がわかりません。 気になる点としましては、今回初めてオブジェクト指向でプログラムしているという点です。 オブジェクト指向プログラム時に、pearライブラリの使い方を変えなければならないなど注意点があるのでしょうか? 上記エラーの対処法をご教授いただければ幸いです。

    • ベストアンサー
    • PHP
  • PEARのライブラリはどこにインストールされるのでしょう

    お疲れ様です。 お世話になっております。 HTML_QuickFormに関して質問です。 CentOSでPEARをインストールし、 pear install HTML_QuickFormでインストールしました。 pear list すると HTML_Common 1.2.4 stable HTML_QuickForm 3.2.9 stable PEAR 1.4.9 stable と、インストールは確認できます。 php.iniのinclude_pathは include_path =".:/usr/lib/php/smarty:/usr/lib/php/pear" となっています。 smartyはrequire_once"Smarty.class.php";で呼び出しできるのですが、 HTML_QuickFormが"HTML/quick_form.php"でfile not foundになってしまいます。 pearのディレクトリをのぞいてみたら空の状態なんですが、いったいどこにHTML_QuickFormはインストールされているのでしょうか。 pearのライブラリはpearの配下にくると思っていたのですが。 呼び出すにはどこのパスを指定すればよいのでしょう・・・。

    • 締切済み
    • PHP
  • include_path の設定について

    趣味でpearのNet_UserAgent_Mobileライブラリを使用して携帯サイトを作成しておりますが、その各ライブラリファイルで require_once 'Net/UserAgent/Mobile/*****.php'; のようなコードがあるのでそれを変更したくないのと色々な場所からライブラリを使用するのでその都度相対パスを設定したくないので.htaccessでパスの設定をしたいのですが include_pathを設定するとPEAR.phpのパスが設定されてしまいます。その為 require_once 'PEAR.php'; のところでエラーが出ます。 include_pathはあくまでPEAR.phpのパスの設定しか出来ないのでしょうか。 【ライブラリファイルのおいてある場所】 /home/*****/public_html/mobile/Net/UserAgent/Mobile/ 【.htaccess設定】 php_value include_path ".:/home/*****/public_html/mobile/

    • ベストアンサー
    • PHP
  • pearライブラリのインクルードについて

    PEARへのパスの通し方の方法を教えていただきたいと思います。 私はハッスルサーバーを使っており、以前に以下のサイトを参考にしてPEARをインストールしました。(PHPのバージョンは5.2です。) http://funweb.sblog.jp/blog/article/%E3%83%8F%E3%83%83%E3%82%B9%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%B8%E3%81%AEPEAR%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB その後、XML-RPCを使用したPHPプログラムを作成し、 以下の場所に配置しました。 <ドキュメントルート配下> ・pear(フォルダ)   ・bin(フォルダ)   ・PEAR(フォルダ)   ・pear.conf   ・phpプログラム ←配置したプログラム ・wp(フォルダ) phpプログラムにはrequire_once("XML/RPC.php"); と記述しているのですが実行すると以下のエラーが出ます Warning: require_once(XML/RPC.php) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/public/www/pear/xxx.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'XML/RPC.php' (include_path='“.:/home/xxx/public/www/pear/PEAR”') in /home/xxx/public/www/pear/xxx.php on line 2 php.iniのインクルードパスには「 include_path = ".;/home/xxx/public/www/pear/PEAR";」と記述しています。 問題はパスの記述か、XMLフォルダの存在の有無かのどちらかだろうと判断し、 XMLフォルダの存在を確認するためにphpプログラムの方を以下のように フルパスで記述しました。 require_once("/home/xxx/public/www/pear/PEAR/XML/RPC.php"); すると今度は以下のエラーが出ました。 Warning: include_once(PEAR.php) [function.include-once]: failed to open stream: No such file or directory in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 594 Warning: include_once() [function.include]: Failed opening 'PEAR.php' for inclusion (include_path='.;/home/xxx/public/www/pear/PEAR') in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 594 Fatal error: Class 'PEAR' not found in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 596 これでXMLフォルダが存在することは分かったのであとはインクルードパスの問題と判断しました。 しかし、インクルードパスは何度確認しても「/home/xxx/public/www/pear/PEAR」と合っているように思います。 他に心当たりがある方がいらっしゃいましたら教えていただければと思います。 宜しくお願い致します。

    • 締切済み
    • PHP
  • PEARライブラリ

    Windows(xp)にxampp1.6.4をインストールしています、C:\xampp\php\PEAR\にPEARのライブラリが格納されているのにコマンドプロンプトでpear listを入力してインストールされているライブラリを確認したいのですが、no package installed from channnel pear.php.netと表示されてしまいます。 どうなってるのかよくわかりません、パッケージのインストール方法がわかりましたら教えてもらえると助かります。

    • 締切済み
    • PHP
  • ロリポップのサーバーにPEARライブラリを追加したい

    初めて投稿します。 プログラム始めて3ヶ月未満の初心者です。 PHPを利用して携帯サイトを作ろうと勉強しています。以前Pearをサーバー(ロリポップ)にインストールして利用していますが、ライブラリを追加したい(ライブラリ:Net_IPv4)と思い、 http://サーバーのドメイン/pear/go-pear.php にアクセスしても、 「500 ERROR INTERNAL SERVER ERROR ※CGIもしくはSSIが正しく動作していません」 というエラーが出てしまいます。 以前PEARをインストールしたときは、 1.サーバーに「pear」フォルダを作り(パーミッション:755) 2.「http://pear.php.net/go-pear」にアクセス。表示されたリストをコピーし、go-pear.php という名前で保存。go-pear.php(パーミッション:755) を、FTPで先ほど作成したフォルダー「pear」にアップロード 3.「http://サーバーのドメイン/pear/go-pear.php」にアクセスして、Confguration欄のphp.exe.pathの項目に「user/local/bin/php」と入力 を実行しました。 これで、利用したいPEARライブラリを選んで、インストールした分は今も使えております。 PEARのライブラリをレンタルサーバー(ロリポップ)に追加する方法をご存知の方がいらっしゃいましたら、教えて頂けないでしょうか。 よろしくお願いします。 ※ローカル環境ではコマンドプロンプトを利用して、問題なく「Net_IPv4」ライブラリを追加出来ました。

    • ベストアンサー
    • PHP
  • pear dbにつきまして

    いつもお世話になっております。 ふとした疑問ですが、 PearDBを使うとき、どのディレクトリであっても、 require_once("DB.php"); とします。 通常この場合、カレントディレクトリにDB.phpがあるはずですが、 Pearの場合ないですよね。 Pearは Pear install コマンドでインストールしました。 ここらへんの仕組みがなにか、関係してくるのかなと思いますが、 ざっくり、ここの仕様の概要を教えていただけませんでしょうか。 (※わからないままだと、気持ちわるくてしょうがありません。。) お手数をおかけしますが、何卒よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • PEAR::Net_U_A_M インストールとは?

    よろしくお願い申し上げます。 ケータイサイトを製作しようと思っています。 http://dozo.matrix.jp/pear/index.php/PEAR/Net_UserAgent_Mobile.html のサイトに、、、 >0.23.0現在ベータ版のためインストールには-fを付ける必要がある。 ># pear install -f Net_UserAgent_Mobile とあるのですが、どこにインストールするのでしょうか。どうすればインストールできるのでしょうか。(必要なものもあれば一緒にお願いします) 何のことかわかりません。お教え頂けますでしょうか。

    • ベストアンサー
    • PHP
  • PEARのパッケージのパスの変更方法

    さくらレンタルサーバで、以下の手順でPEARをインストールしました。 http://www.seo-maniax.com/high-rank/sakura-pear/ 次に以下のコマンドを実行しました。 pear channel-update pear.php.net pear install Net_URL2-2.0.0 pear install HTTP_Request2-0.5.1 pear install HTTP_OAuth-0.2.3 そして、/home/ユーザ名/pear/HTTP/Consumer.phpを使ったプログラムで、以下のエラーが。 Warning: require_once(HTTP/OAuth.php) [function.require-once]: failed to open stream: No such file or directory in /home/ユーザ名/pear/HTTP/OAuth/Consumer.php on line 24 Fatal error: require_once() [function.require]: Failed opening required 'HTTP/OAuth.php' (include_path='.:/home/ユーザ名/pear/PEAR') in /home/ユーザ名/pear/HTTP/OAuth/Consumer.php on line 24 line 24は、require_once 'HTTP/OAuth.php'; となっており、正しいパスは'../OAuth.php'なので、正しくインストールしたいのですが、どうすれば良いのでしょうか?

    • ベストアンサー
    • PHP
  • XAMPP1.77でPEARが見れない。

    XAMPP1.77でPEARが見れない。 最新版であるXAMMP1.77についてる pearを使いたいのですがうまく行きません。 現在できていること ・pearを使わないPHPファイルの動作 ・コマンドpear listでpearの一覧が出る。 環境 ・windows 7 64bit ・XAMMP1.77 最新版 ------------------------------------ できていないこと。 ●pearinfoを見ることができない。 pearの情報を見るために 以下のコードをコピペしました。 <?php require_once 'PEAR/Info.php'; $info = new PEAR_Info(); $info->show(); ?> ソース元:http://allabout.co.jp/gm/gc/47461/2/ そもそもPEARフォルダの中にInfo.phpが無いので、 下のようなエラーが出ます。 Warning: require_once(PEAR/Info.php) [function.require-once]: failed to open stream: No such file or directory in C:\xampp\htdocs\test\pearinfo.php on line 2 そこで、Info.phpを検索をかけると、 VersionControl\SVN\Info.phpというのだけ見つかり、 そいつをrequireすると、 Fatal error: Class 'VersionControl_SVN' not found in C:\xampp\php\PEAR\VersionControl\SVN\Info.php on line 121 というエラーがでます。 デバッグで一行ずつコードを走らせると、 Info.phpに入りますが、 その中にあるVersionControl_SVNの所で止まります。 XAMPPに最初から入ってるPEARが特殊?なので よくわからないですが、この場合どう対処すればいいでしょうか?

    • ベストアンサー
    • PHP

専門家に質問してみよう