Giả sử bạn đang ở trên một webhost chung với PHP. & nbsp; bạn muốn biết nếu gói lê thường được sử dụng được cài đặt trong cài đặt PHP này.
Chỉ cần viết mã PHP sau & NBSP sau đây; vào một tệp có tên Check.php và tải lên máy chủ của bạn
Bạn sẽ nhận được đầu ra, Got Pear, nếu lê được cài đặt trong môi trường PHP của bạn. & nbsp; System System.php, trong mỗi lần cài đặt lê.
Ngoài ra, bạn có thể sử dụng mã mẫu được tìm thấy trong & nbsp;
Nên trả lại bool [true] nếu bạn đã cài đặt lê.
Bài viết liên quan
Tags
Tìm hiểu các hướng dẫn web được lưu trữ bởi HostMonster và thiết kế dựa trên mẫu WordPress bởi các chủ đề thanh lịch Tất cả các nội dung là ý kiến và có bản quyền và có thể chứa quảng cáo hiển thị và liên kết quảng cáo mà trang web có thể nhận được doanh thu từ đó. Xem Điều khoản sử dụng và chính sách bảo mật. is hosted by Hostmonster and design based on Wordpress template by
Elegant Themes
All contents are opinions and are copyrighted and may contain display ads and ad links for which site may receive revenues from.
See Terms of Use and Privacy Policy.
Tôi đang gặp lỗi như:
CẢNH BÁO: Bao gồm_once [net/smtp.php] [function.include-once]: Không thể mở luồng: Không có tệp hoặc thư mục như vậy trong /usr/local/lib/php/mail/smtp.php trên dòng 348
CẢNH BÁO: bao gồm_once [] [function.include]: không thành công 'net/smtp.php' để đưa vào [bao gồm_path = '.:/Usr/lib/php:/usr/local/lib/php'] /lib/php/mail/smtp.php trên dòng 348
Lỗi nghiêm trọng: Lớp 'Net_SMTP' không tìm thấy trong /usr/local/lib/php/mail/smtp.php trên dòng 349
Mã của tôi:
require_once 'Mail.php';
$from = ">";
$to = ">";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";
$host = "mail.example.com";
$username = "me";
$password = "test";
$headers = array ['From' => $from,
'To' => $to,
'Subject' => $subject];
$smtp = Mail::factory['smtp',
array ['host' => $host,
'auth' => true,
'username' => $username,
'password' => $password]];
$mail = $smtp->send[$to, $headers, $body];
if [PEAR::isError[$mail]] {
echo["" . $mail->getMessage[] . "
"];
} else {
echo["Message successfully sent!
"];
}
Xác minh công cụ dòng lệnh
Cả hai công cụ PEAR và PECL nên có sẵn ở mọi nơi trên dòng lệnh. Để hoạt động, thư mục nhị phân của Pear [
3] phải nằm trong biến 4 của bạn.pear and pecl tools should be available everywhere on command line. For that to work, pear's binary [3] directory should be in your 4 variable.Để xác minh nó hoạt động, chỉ cần gõ lê. Danh sách các lệnh phải được hiển thị:pear. A list of commands should be shown:
$ pear
Commands:
build Build an Extension From C Source
bundle Unpacks a Pecl Package
channel-add Add a Channel
...
Bạn nên kiểm tra thêm rằng lê được cập nhật:
$ pear version
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...
Xác minh đường dẫn bao gồm
Để sử dụng các gói tương thích lê và lê trong các ứng dụng của bạn, bạn thường đưa chúng vào các tập lệnh PHP của bạn bằng yêu cầu_once []. Để hoạt động này, Pear
5 phải là một phần của PHP bao gồm đường dẫn.require_once[]. For this to work, PEAR's 5 must be a part of PHP's include path.Đầu tiên, hãy kiểm tra nơi PEAR cài đặt các tệp
6:$ pear config-get php_dir
/usr/share/lib/php/Thư mục này sẽ chứa
7.Bây giờ là lúc tìm tệp cấu hình nào được sử dụng bởi cài đặt PHP của bạn. Trên dòng lệnh, thực thi:
$ php --ini
Configuration File [php.ini] Path: /etc/php/cli-php5
Loaded Configuration File: /etc/php/cli-php5/php.ini
Scan for additional .ini files in: /etc/php/cli-php5/ext-active
Additional .ini files parsed: /etc/php/cli-php5/ext-active/php_gtk2.ini,
/etc/php/cli-php5/ext-active/xdebug.iniĐể xem
8 nào được sử dụng bởi PHP trên máy chủ web của bạn, hãy tạo một tệp chỉ với 9 dưới dạng nội dung và lưu nó trong root web cục bộ của bạn là
0. Mở tệp trong trình duyệt của bạn dưới dạngrequire_once 'Mail.php'; $from = ">"; $to = ">"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "mail.example.com"; $username = "me"; $password = "test"; $headers = array ['From' => $from, 'To' => $to, 'Subject' => $subject]; $smtp = Mail::factory['smtp', array ['host' => $host, 'auth' => true, 'username' => $username, 'password' => $password]]; $mail = $smtp->send[$to, $headers, $body]; if [PEAR::isError[$mail]] { echo["
" . $mail->getMessage[] . "
"]; } else { echo["Message successfully sent!
"]; }
1, để tìm đường dẫn đến tệp 8 mà máy chủ web của bạn đang sử dụng.require_once 'Mail.php'; $from = ">"; $to = ">"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "mail.example.com"; $username = "me"; $password = "test"; $headers = array ['From' => $from, 'To' => $to, 'Subject' => $subject]; $smtp = Mail::factory['smtp', array ['host' => $host, 'auth' => true, 'username' => $username, 'password' => $password]]; $mail = $smtp->send[$to, $headers, $body]; if [PEAR::isError[$mail]] { echo["
" . $mail->getMessage[] . "
"]; } else { echo["Message successfully sent!
"]; }Bây giờ hãy kiểm tra cài đặt của Php's bao gồm_path trên dòng lệnh:
$ php -c /path/to/php.ini -r 'echo get_include_path[]."\n";'
Để kiểm tra Php's bao gồm_path trong máy chủ web của bạn, hãy tạo một tệp chỉ với
9 dưới dạng nội dung và lưu nó trong root web cục bộ của bạn là
0. Mở tệp trong trình duyệt của bạn dưới dạngrequire_once 'Mail.php'; $from = ">"; $to = ">"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "mail.example.com"; $username = "me"; $password = "test"; $headers = array ['From' => $from, 'To' => $to, 'Subject' => $subject]; $smtp = Mail::factory['smtp', array ['host' => $host, 'auth' => true, 'username' => $username, 'password' => $password]]; $mail = $smtp->send[$to, $headers, $body]; if [PEAR::isError[$mail]] { echo["
" . $mail->getMessage[] . "
"]; } else { echo["Message successfully sent!
1, để xác minh bao gồm máy chủ web của bạn đang sử dụng.require_once 'Mail.php'; $from = ">"; $to = ">"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "mail.example.com"; $username = "me"; $password = "test"; $headers = array ['From' => $from, 'To' => $to, 'Subject' => $subject]; $smtp = Mail::factory['smtp', array ['host' => $host, 'auth' => true, 'username' => $username, 'password' => $password]]; $mail = $smtp->send[$to, $headers, $body]; if [PEAR::isError[$mail]] { echo["
" . $mail->getMessage[] . "
"]; } else { echo["Message successfully sent!
"]; }Trong mọi trường hợp, Pear's
5 nên có trong đường dẫn bao gồm. Nếu không, hãy thêm nó vào hệ thống của bạn 8.Bây giờ điều này đã được thực hiện, hãy thử bao gồm một tập tin. Tạo tệp
8 mới với các nội dung sau:require_once 'Mail.php'; $from = ">"; $to = ">"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "mail.example.com"; $username = "me"; $password = "test"; $headers = array ['From' => $from, 'To' => $to, 'Subject' => $subject]; $smtp = Mail::factory['smtp', array ['host' => $host, 'auth' => true, 'username' => $username, 'password' => $password]]; $mail = $smtp->send[$to, $headers, $body]; if [PEAR::isError[$mail]] { echo["
" . $mail->getMessage[] . "
"]; } else { echo["Message successfully sent!
"]; }
9require_once 'Mail.php'; $from = ">"; $to = ">"; $subject = "Hi!"; $body = "Hi,\n\nHow are you?"; $host = "mail.example.com"; $username = "me"; $password = "test"; $headers = array ['From' => $from, 'To' => $to, 'Subject' => $subject]; $smtp = Mail::factory['smtp', array ['host' => $host, 'auth' => true, 'username' => $username, 'password' => $password]]; $mail = $smtp->send[$to, $headers, $body]; if [PEAR::isError[$mail]] { echo["
" . $mail->getMessage[] . "
"]; } else { echo["Message successfully sent!
"]; }bool[true]
Một tin nhắn như:
Warning: require_once[System.php]: failed to open stream:
No such file or directory in /path/to/check_pear.php on line 2
có nghĩa là đường dẫn bao gồm của bạn không chính xác. [Vì vậy, hãy đi và sửa nó!]
Một trang hoàn toàn màu trắng trong trình duyệt của bạn gợi ý hai điều:
Máy chủ của bạn được cấu hình để không hiển thị bất kỳ lỗi nào cho người dùng/trình duyệt [tắt
$ pear
1]
Commands:
build Build an Extension From C Source
bundle Unpacks a Pecl Package
channel-add Add a Channel
...Có một lỗi bao gồm
7 và bạn nên kiểm tra nhật ký lỗi của máy chủ.
Đó là nó! Bây giờ tiếp tục và cài đặt một số gói.
Những điều có thể theo cách của bạn
Sau khi thay đổi
8, bạn cần khởi động lại máy chủ web của mình.Rất ít người cũng báo cáo rằng họ phải khởi động lại toàn bộ máy, có lẽ là do thay đổi đường dẫn không lan truyền chính xác. Trước khi lãng phí hàng giờ và sau khi bạn thử mọi thứ khác, chỉ cần thử điều đó.
Các bản phân phối Linux mới hơn sử dụng nhiều tệp
8; Chủ yếu là một cho máy chủ web [ví dụ:$ pear
5] và một cho dòng lệnh [như
Commands:
build Build an Extension From C Source
bundle Unpacks a Pecl Package
channel-add Add a Channel
...$ pear
6]. Hãy chắc chắn rằng bạn chỉnh sửa đúng.
Commands:
build Build an Extension From C Source
bundle Unpacks a Pecl Package
channel-add Add a Channel
...Trên Windows, các phiên bản gần đây của PHP sử dụng
8 từ thư mục riêng của họ [trong đó$ pear
8]. Bạn vẫn có thể có một 8 cũ trong thư mục
Commands:
build Build an Extension From C Source
bundle Unpacks a Pecl Package
channel-add Add a Channel
...$ pear version
0 hoặc
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...$ pear version
1 đánh lừa bạn.
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...Bạn không thể thoát khỏi việc sử dụng các đường dẫn tuyệt đối trong các câu lệnh abel_once [] của riêng bạn như là một thay đổi để sửa lỗi
$ pear version
2 của bạn, bởi vì tất cả các tệp khác sau đó được các tập lệnh của bạn yêu cầu đều được mã hóa cho đường dẫn tương đối dựa trên
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...$ pear version
2.require_once[] statements as an altervative to fixing your
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...$ pear version
2, because all the other files that are then required by your scripts are all coded for relative pathing based on
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...$ pear version
2.
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...
Sửa đổi 8
Để có được lê hoạt động bình thường, bạn cần điều chỉnh PHP's bao gồm_path. Sau khi bạn tìm thấy php.ini, hãy mở nó trong một biên tập viên.
Tìm kiếm dòng
$ pear version2.
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...
Bây giờ bạn đã tìm thấy nó, có lẽ bạn sẽ thấy một dấu chấm phẩy
$ pear version6 lúc đầu. Điều này có nghĩa là dòng là một bình luận. Thêm một dòng mới bên dưới nó.
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...
Trong dòng này, viết:
0Tùy thuộc vào hệ điều hành của bạn, hãy thêm
$ pear version7 [Unix/Linux/FreeBSD/Mac OS X] hoặc
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...
$ pear version6 [Windows] sau dấu chấm. Thêm Pear's 5 sau nó. [Thư mục 7 được đặt tại!]
PEAR Version: 1.7.2
PHP Version: 5.2.6RC4-pl0-gentoo
Zend Engine Version: 2.2.0
Running on: Linux ...
Kết quả sẽ trông như thế:
1hoặc
2