[問題]請教關於使用PHP Pear的錯誤訊息

AppServ Running Discuss
關於 AppServ 架設使用操作討論,沒有按照發文格式一律砍文!

版主: 版主管理群

omar671007
星球普通子民
星球普通子民
文章: 8
註冊時間: 2002-10-17 14:51

[問題]請教關於使用PHP Pear的錯誤訊息

文章 omar671007 »

Windows 作業系統版本:Windows 2003 + appserv-win32
Appserv 安裝版本:記得好像是安裝 2.5.4a的
發生問題:
小弟是新手,在此要請教各位先進,
因為要執行透過Server發mail,所以加了一個Package=>Mail-1[1].1.10,後來在RUN這個文件,文件代碼如下:

代碼: 選擇全部

<?php
    
    require_once('C:\Usr\local\php\PEAR\Mail\mail.php'); 
    $recipients = ';
    
    $headers['From'] = 'saxontse@sinaman.com';
    $headers['To'] = 'HELLO';
    $headers['Subject'] = 'Test message';    
    
    $body = 'Test message';
    
    $params["host"]="";  // <-- Fill Yours Or ISP's SMTP SERVER
    $params["port"]=25;
    $params["auth"]=False;  // <-- Try No Auth First

    //如果你確定您的SMTP SERVER 需要認證,再將下列三行的註解拿掉!
    //$params["auth"]=True;
    //$params["username"]="Your Account";
    //$params["password"]="Your Password";

    // Create the mail object using the Mail::factory method
    $mail_object =& Mail::factory('smtp', $params);
    
    $mail_object->send($recipients, $headers, $body);
?>
會出現:
Fatal error: Class mail_mail: Cannot inherit from undefined class mail in C:\Usr\local\php\PEAR\Mail\mail.php on line 26

想請教各位先進,是不是還缺少安裝什麼東西呢?
先感謝各位先進的幫忙!
ethan
星球公民
星球公民
文章: 218
註冊時間: 2002-06-01 09:48
聯繫:

文章 ethan »

應該是 pear/Mail.php
而不是 pear/Mail/mail.php

在 win32 底下的環境不是太確定
但是如果php.ini中 include path 設定正確
只需 require('Mail.php'); 即可
不建議寫太多絕對路徑
omar671007
星球普通子民
星球普通子民
文章: 8
註冊時間: 2002-10-17 14:51

文章 omar671007 »

感謝ethan兄的幫忙及回覆~
因為原先是設在 pear/Mail.php 不行,所以後來又設進下一層@@
include patch的設定是這樣include_path = ".;C:\Usr\local\php\PEAR"
小弟也改過用相對路徑,不過還是不行@@
是不是還需要什麼information判斷呢?
再次地感謝~
ethan
星球公民
星球公民
文章: 218
註冊時間: 2002-06-01 09:48
聯繫:

文章 ethan »

不客氣

可否提供錯誤訊息?
另外請問 pear 的安裝方式

win32 的環境下可能會有比較多的因素
沒一定非使用 pear 不可的話,或許可以試試 LibMail
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

要用

代碼: 選擇全部

require_once "Mail.php";
而不是 Mail/mail.php,你 require 錯檔案了...
omar671007
星球普通子民
星球普通子民
文章: 8
註冊時間: 2002-10-17 14:51

文章 omar671007 »

ethan 寫:不客氣

可否提供錯誤訊息?
另外請問 pear 的安裝方式

win32 的環境下可能會有比較多的因素
沒一定非使用 pear 不可的話,或許可以試試 LibMail
ethan兄,
錯誤的訊息如下:
Fatal error: Class mail_mail: Cannot inherit from undefined class mail in C:\Usr\local\php\PEAR\Mail\mail.php on line 26

pear安裝方式呀?小弟好像沒有裝捏....@@

LIBMAIL呀?如果再不行的話就來試試這種了~~
感謝您!
chiouss 寫:要用

代碼: 選擇全部

require_once "Mail.php";
而不是 Mail/mail.php,你 require 錯檔案了...
chiouss兄,
小弟試過用"Mail.php"一樣是不行的@@
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

omar671007 寫:pear安裝方式呀?小弟好像沒有裝捏....@@
PEAR 要安裝,因為它裡面很多套件有相依性,請參考 http://pear.php.net/manual/en/installation.getting.php 去安裝
omar671007
星球普通子民
星球普通子民
文章: 8
註冊時間: 2002-10-17 14:51

文章 omar671007 »

chiouss 寫:
omar671007 寫:pear安裝方式呀?小弟好像沒有裝捏....@@
PEAR 要安裝,因為它裡面很多套件有相依性,請參考 http://pear.php.net/manual/en/installation.getting.php 去安裝
感謝chiouss兄的幫忙,
小弟做完之後一直在這設定畫面而已,這樣是對的嗎?
圖檔
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

omar671007 寫:感謝chiouss兄的幫忙,
小弟做完之後一直在這設定畫面而已,這樣是對的嗎?
Enger to continue
就按下去 (Enter) 吧! :P
omar671007
星球普通子民
星球普通子民
文章: 8
註冊時間: 2002-10-17 14:51

文章 omar671007 »

chiouss 寫:
omar671007 寫:感謝chiouss兄的幫忙,
小弟做完之後一直在這設定畫面而已,這樣是對的嗎?
Enger to continue
就按下去 (Enter) 吧! :P
按了的話就一直在這畫面,不知PEAR部份是否有限制要在PHP版本多少以上嗎?
Thanks!
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

omar671007 寫:按了的話就一直在這畫面,不知PEAR部份是否有限制要在PHP版本多少以上嗎?
Thanks!
您用的是 PHP5 的話一定可以使用,不過我也不清楚你的問題到底在哪邊 Orz

代碼: 選擇全部

Microsoft Windows XP [版本 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Maverick>e:

E:\>cd Inetpub\php

E:\Inetpub\php>go-pear

Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)   : E:\Inetpub\php
 2. Binaries directory            : E:\Inetpub\php
 3. PHP code directory ($php_dir) : E:\Inetpub\php\pear
 4. Documentation directory       : E:\Inetpub\php\pear\docs
 5. Data directory                : E:\Inetpub\php\pear\data
 6. Tests directory               : E:\Inetpub\php\pear\tests
 7. Name of configuration file    : C:\WINDOWS\pear.ini
 8. Path to CLI php.exe           : E:\Inetpub\php\.

1-8, 'all' or Enter to continue: 7
(Use $prefix as a shortcut for 'E:\Inetpub\php', etc.)
Name of configuration file [C:\WINDOWS\pear.ini] : $prefix\pear.ini

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)   : E:\Inetpub\php
 2. Binaries directory            : E:\Inetpub\php
 3. PHP code directory ($php_dir) : E:\Inetpub\php\pear
 4. Documentation directory       : E:\Inetpub\php\pear\docs
 5. Data directory                : E:\Inetpub\php\pear\data
 6. Tests directory               : E:\Inetpub\php\pear\tests
 7. Name of configuration file    : E:\Inetpub\php\pear.ini
 8. Path to CLI php.exe           : E:\Inetpub\php\.

1-8, 'all' or Enter to continue:
Beginning install...
Configuration written to E:\Inetpub\php\pear.ini...
Initialized registry...
Preparing to install...
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.1.tar..
installing phar://go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.2.tar.
installing phar://go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.4.9.tar...
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
install ok: channel://pear.php.net/Archive_Tar-1.3.1
install ok: channel://pear.php.net/Console_Getopt-1.2
install ok: channel://pear.php.net/PEAR-1.4.9
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installe
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based instal

To install use "pear install pear/PEAR#featurename"

****************************************************************************
WARNING!  The include_path defined in the currently used php.ini does not
contain the PEAR PHP directory you just specified:
<E:\Inetpub\php\pear>
If the specified directory is also not in the include_path used by
your scripts, you will have problems getting any PEAR packages working.

Notice: Use of undefined constant WINDOWS - assumed 'WINDOWS' in phar://go-p
phar/PEAR/Start.php on line 333

Current include path           : .;C:\php5\pear
Configured directory           : E:\Inetpub\php\pear
Currently used php.ini (guess) :
Press Enter to continue:

** WARNING! Backed up old pear to E:\Inetpub\php\pear.bat_old

The 'pear' command is now at your service at e:\inetpub\php\pear.bat

** The 'pear' command is not currently in your PATH, so you need to
** use 'e:\inetpub\php\pear.bat' until you have added
** 'E:\Inetpub\php' to your PATH environment variable.

Run it without parameters to see the available actions, try 'pear list'
to see what packages are installed, or 'pear help' for help.

For more information about PEAR, see:

  http://pear.php.net/faq.php
  http://pear.php.net/manual/

Thanks for using go-pear!



* WINDOWS ENVIRONMENT VARIABLES *
For convenience, a REG file is available under E:\Inetpub\php\PEAR_ENV.reg .
This file creates ENV variables for the current user.

Double-click this file to add it to the current user registry.

請按任意鍵繼續 . . .
我的安裝過程就這麼簡單完畢。不然你用那個網頁安裝介面好了。
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

另外,由我的安裝過程可知

代碼: 選擇全部

E:\Inetpub\wwwroot\PEAR>php pearcmd.php install --alldeps Mail
downloading Mail-1.1.10.tgz ...
Starting to download Mail-1.1.10.tgz (16,866 bytes)
......done: 16,866 bytes
downloading Net_SMTP-1.2.8.tgz ...
Starting to download Net_SMTP-1.2.8.tgz (11,274 bytes)
...done: 11,274 bytes
downloading Net_Socket-1.0.6.tgz ...
Starting to download Net_Socket-1.0.6.tgz (4,623 bytes)
...done: 4,623 bytes
downloading Auth_SASL-1.0.2.tgz ...
Starting to download Auth_SASL-1.0.2.tgz (5,645 bytes)
...done: 5,645 bytes
install ok: channel://pear.php.net/Net_Socket-1.0.6
install ok: channel://pear.php.net/Auth_SASL-1.0.2
install ok: channel://pear.php.net/Net_SMTP-1.2.8
install ok: channel://pear.php.net/Mail-1.1.10
Mail 還需要安裝 Net_SMTP, Auth_SASL, Net_Socket 等 package...
omar671007
星球普通子民
星球普通子民
文章: 8
註冊時間: 2002-10-17 14:51

文章 omar671007 »

chiouss 寫:另外,由我的安裝過程可知

代碼: 選擇全部

E:\Inetpub\wwwroot\PEAR>php pearcmd.php install --alldeps Mail
downloading Mail-1.1.10.tgz ...
Starting to download Mail-1.1.10.tgz (16,866 bytes)
......done: 16,866 bytes
downloading Net_SMTP-1.2.8.tgz ...
Starting to download Net_SMTP-1.2.8.tgz (11,274 bytes)
...done: 11,274 bytes
downloading Net_Socket-1.0.6.tgz ...
Starting to download Net_Socket-1.0.6.tgz (4,623 bytes)
...done: 4,623 bytes
downloading Auth_SASL-1.0.2.tgz ...
Starting to download Auth_SASL-1.0.2.tgz (5,645 bytes)
...done: 5,645 bytes
install ok: channel://pear.php.net/Net_Socket-1.0.6
install ok: channel://pear.php.net/Auth_SASL-1.0.2
install ok: channel://pear.php.net/Net_SMTP-1.2.8
install ok: channel://pear.php.net/Mail-1.1.10
Mail 還需要安裝 Net_SMTP, Auth_SASL, Net_Socket 等 package...
感謝chiouss辛苦的幫忙,
後來小弟更換php版本後就可以安裝,在跑完後測試時出現
fsockopen(): unable to connect to 59.104.137.239:25 in C:\Usr\local\php\pear\Net\Socket.php on line 108
的錯誤..@@,這是套件有問題還是...Socket.php檔設定問題呢?
再次感謝~
chiouss
竹貓忠實會員
竹貓忠實會員
文章: 1741
註冊時間: 2002-11-29 18:19

文章 chiouss »

omar671007 寫:感謝chiouss辛苦的幫忙,
後來小弟更換php版本後就可以安裝,在跑完後測試時出現
fsockopen(): unable to connect to 59.104.137.239:25 in C:\Usr\local\php\pear\Net\Socket.php on line 108
的錯誤..@@,這是套件有問題還是...Socket.php檔設定問題呢?
再次感謝~
請試試看您是否可以從自己的機器 telnet 到 59.104.137.239 的 port 25,我這邊測試沒有問題...

代碼: 選擇全部

$ telnet 59.104.137.239 25
Trying 59.104.137.239...
Connected to 59-104-137-239.adsl.dynamic.seed.net.tw.
Escape character is '^]'.
220 e-hom.idv.tw ESMTP MDaemon 9.0.0; Mon, 28 Aug 2006 19:39:32 +0800
^]
zh-telnet> Connection closed.
omar671007
星球普通子民
星球普通子民
文章: 8
註冊時間: 2002-10-17 14:51

文章 omar671007 »

chiouss 寫:
omar671007 寫:感謝chiouss辛苦的幫忙,
後來小弟更換php版本後就可以安裝,在跑完後測試時出現
fsockopen(): unable to connect to 59.104.137.239:25 in C:\Usr\local\php\pear\Net\Socket.php on line 108
的錯誤..@@,這是套件有問題還是...Socket.php檔設定問題呢?
再次感謝~
請試試看您是否可以從自己的機器 telnet 到 59.104.137.239 的 port 25,我這邊測試沒有問題...

代碼: 選擇全部

$ telnet 59.104.137.239 25
Trying 59.104.137.239...
Connected to 59-104-137-239.adsl.dynamic.seed.net.tw.
Escape character is '^]'.
220 e-hom.idv.tw ESMTP MDaemon 9.0.0; Mon, 28 Aug 2006 19:39:32 +0800
^]
zh-telnet> Connection closed.
咦?老大...竟然自己機器上不行@@,這IP是小弟的Mail Server,是MD架的,該不會是這的問題嗎?
錯誤訊息為:
無法開啟到主機的連線,在連接阜25:連線失敗
回覆文章

回到「AppServ」