标签: pear

PHP包管理器

有没有人知道PHP的包管理器库(例如apt或yum for linux发行版)除了 PEAR?我正在开发一个应该包含用于模块管理的包管理系统的系统.我设法使用PEAR获得了一个可行的解决方案,但是除了管理PEAR安装之外,使用PEAR客户端并不是最佳解决方案,因为它不是为此而设计的.我将不得不修改/扩展它(例如,实现安装/升级操作或将PEAR特定文件(如锁定文件)移离系统根目录),尤其是CLI客户端代码非常混乱和PHP4.所以也许有人有一些建议

  • 对于一个易于使用和扩展的替代PEAR客户端库(服务器端有一些很好的实现,如Pirum和pearhub)
  • 用于用PHP编写的完全不同的包管理系统(理想情况下包括依赖性跟踪和不同的通道)
  • 对于一些一般性的想法如何实现这样一个PM系统(是的,我仍在修补从头开始实施这样一个系统的想法)

我知道像Magento和symfony这样的大型系统使用PEAR作为他们的PM.Magento使用原始PEAR客户端的黑客版本(我想避免),symfony的实现似乎与框架完全集成,但至少从头开始编写客户端是一个很好的起点.无论如何,如果有人有建议:请:)

php pear package-managers

13
推荐指数
1
解决办法
6277
查看次数

在发送PEAR Mail_Mime电子邮件时,邮件html中缺少点(.)s

我使用PEAR的mail和mail_mime包发送邮件,示例代码如下:

$sendStart=array();
require_once('Mail.php');
require_once('Mail/mime.php');

$sendStart['mail'] =& Mail::factory('mail');
$sendStart['mime'] = new Mail_mime("\n");

$sendStart['mime']->setHTMLBody($html);
$sendStart['headers']['Subject']=$title;
$sendStart['headers']['X-SMTPAPI']='{"category": ["MailID-XXX"]}';

$body=$sendStart['mime']->get(array(
        'html_charset'=>'UTF-8',
        'text_charset'=>'UTF-8',
        'head_charset'=>'UTF-8'
    ));

//echo ($sendStart['mime']->_htmlbody); exit;
$sendStart['mail']->send('xxx@example.com',$sendStart['mime']->headers($sendStart['headers']),$body);
Run Code Online (Sandbox Code Playgroud)

通过此代码发送邮件时,我遇到了一个奇怪的问题.我在电子邮件正文中有图像,有时图像不显示.当我调试问题时,我发现.图片网址中缺少这个问题.但是,如果我在发送行之前打印邮件(因为我在代码中注释掉),它会完美地打印出图像.

正确的图片网址: http://www.domain.com/image.png

在邮件中:http://www.domaincom/image.pnghttp://www.domain.com/imagepng......等

HTML代码的一部分,其图像如下所示:

<table cellpadding="0" cellspacing="0" border="0" class="image-table image-2" align="center" style="float:none;margin-left:auto;margin-right:auto;text-align:left;">
    <tbody>
      <tr>
        <td class="element" style="text-align: left;height: auto;overflow: hidden;-webkit-text-size-adjust: none;">
          <!--[if gte mso 9]><img alt="Placeholder Image" src="http://www.domain.com/image.png" style="outline: none; text-decoration: none; display: block; clear: none; float: none;    margin-left: auto; margin-right: auto;display:none; mso-hide: none;" align="center" width="394"><![endif]--><![if !mso]><!-- --><img alt="Placeholder …
Run Code Online (Sandbox Code Playgroud)

php email pear mime

13
推荐指数
1
解决办法
1324
查看次数

如何建立自己的PEAR频道?

我正在寻找有关如何为我们的项目设置PEAR通道的说明,以便我们可以使用pear安装程序进行部署.我在网上搜索了一段时间,找不到任何简单的信息.我按照这个教程学习了一段时间,但是我有一段时间让这个工作.有谁知道如何做到这一点?有更简单的方法吗?

php deployment pear

12
推荐指数
1
解决办法
535
查看次数

梨 - 仍然相关?

我是一个高级初学者,试图选择一个PHP存储库或框架,我可以将其作为可重用代码的可靠来源.

我非常喜欢PEAR的想法,但是由于缺乏优秀/最新的文档而让我感到害怕.

例如,PEAR上的大多数文章都是过时的,没有经过好评的书籍,官方手册非常不吸引人.

我已经考虑过PHP框架(CakePHP,CodeIgniter,Symfony,Zend)和CMS框架(Drupal,Joomla,WordPress),但作为一个长期解决方案,我希望可重用的代码不会增加任何不必要的开销.

换句话说,我想要为单一目的而编写的代码,我可以将其插入我的应用程序,而不需要"借用"任何代码而不是应用程序所需的代码 - 就像我自己从头开始编写代码一样.

所以我问 - PEAR是可重用PHP代码的长期选择吗?

php pear

12
推荐指数
2
解决办法
2127
查看次数

'php pyrus.phar'不会被执行

我在Debian上使用PHP 5.3并根据php -m'Phar'加载.

但是执行php pyrus.pharphp pyrus.phar config-show导致根本没有输出.

可能是什么问题?

debian:~# php -v
PHP 5.3.5-1 with Suhosin-Patch (cli) (built: Feb 19 2011 01:57:59)
Copyright (c) 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
    with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
Run Code Online (Sandbox Code Playgroud)

php -i 给我:

[...]

Phar

Phar: PHP Archive support => enabled
Phar EXT version => 2.0.1
Phar API version => 1.1.1 …
Run Code Online (Sandbox Code Playgroud)

php pear suhosin phar pyrus

12
推荐指数
1
解决办法
4332
查看次数

Pear Mail,如何以UTF-8发送普通/文本+文本/ html

我正在尝试发送文本和HTML的电子邮件,但我无法正确发送正确的标题.特别是,我想设置Content-Type标题,但我找不到如何为html和文本部分单独设置它.

这是我的代码:

$headers = array(
  'From'          => 'info@mydomain.com',
  'Return-Path'   => 'info@mydomain.com',
  'Subject'       => 'mysubject',
  'text_encoding' => '7bit',
  'text_charset'  => 'UTF-8',
  'html_charset'  => 'UTF-8',
  'head_charset'  => 'UTF-8',
  'Content-Type'  => 'text/html; charset=UTF-8'
);

$mime = new Mail_mime();

$html = '<html><body><b>my body</b></body></html>';
$text = 'my body';

$mime->setTXTBody($text);
$mime->setHTMLBody($html);

$body = $mime->get();
$headers = $mime->headers($headers);
$mail_object =& Mail::factory('smtp', $GLOBALS['pear_mail_config']);
$mail_object->send('test@mydomain.com', $headers, $body);
Run Code Online (Sandbox Code Playgroud)

这是我收到的电子邮件:

From: info@mydomain.com
Subject: mysubject
text_encoding: 7bit
text_charset: UTF-8
html_charset: UTF-8
head_charset: UTF-8
Content-Type: multipart/alternative;
    boundary="=_7adf2d854b1ad792c802a9db31084520"
Message-Id: <.....cut.....>
Date: Mon,  8 Oct …
Run Code Online (Sandbox Code Playgroud)

php pear

12
推荐指数
1
解决办法
2万
查看次数

为什么我在安装PEAR时收到错误?

我正在尝试安装PEAR以用于PHP.当我阅读http://pear.php.net/manual/en/installation.getting.php上的安装说明时 ,我应该运行go-pear.bat文件,我在C:\ wamp \中bin\php\php5.3.0目录.根据我读过的所有安装指南,它应该安装并问我一系列安装问题,但是我收到以下错误:

phar"C:\ wamp\bin\php\php5.3.0\PEAR\go-pear.phar"没有签名PHP警告:require_once(phar://go-pear.par/index.php):未能开放流:phar错误:C:\ wamp\bin\php\php5.3.0\PEAR\go-pear.phar中的无效url或不存在的phar"phar://go-pear.phar/index.php"第1236行

警告:require_once(phar://go-pear.par/index.php):无法打开流:phar错误:无效的url或不存在的phar"phar://go-pear.phar/index.php"in第1236行的C:\ wamp\bin\php\php5.3.0\PEAR\go-pear.phar按任意键继续...

我不知道为什么我收到这个错误.我刚刚安装了新的Wampserver.

php pear

11
推荐指数
1
解决办法
1万
查看次数

不应静态调用非静态方法PEAR :: isError()

从RHEL 5x升级到CentOS 6x后,我开始在httpd日志中看到这些错误:

PHP严格标准:不应在第33行的/web/sites/blah/somescript.php中静态调用非静态方法PEAR :: isError()

我看到了MDB2的类似错误.更多关于这一点.

somescript.php:

32  $mdb2_dbx = MDB2::factory($dsn_mdb2, $mdb2_options);
33  if (PEAR::isError($mdb2_dbx))
34  {
35      $err = '<p>Cannot connect to database: ' . $mdb2_dbx->getMessage();
36      errorHandler($err);
37  }   
Run Code Online (Sandbox Code Playgroud)

我做的第一件事就是编辑/etc/php.ini并添加& ~E_STRICT错误报告中.重新启动httpd以加载新配置.仍然收到这些错误消息.

其他人提到了MDB2的相同问题,所以我将这些软件包更新到beta版本.这似乎解决了MDB2错误,但我仍然在httpd日志文件中收到PEAR错误消息.

系统信息:

# pear list
PEAR               1.9.4   stable
MDB2               2.5.0b5 beta
MDB2_Driver_mysql  1.5.0b4 beta
MDB2_Driver_mysqli 1.5.0b4 beta

# php --version
PHP 5.4.20 (cli) (built: Sep 18 2013 19:55:33) 

# cat /etc/centos-release 
CentOS release 6.4 (Final)

# apachectl -v …
Run Code Online (Sandbox Code Playgroud)

php pear static

11
推荐指数
3
解决办法
3万
查看次数

如何在Mac OS X 10.5 Leopard上设置PEAR

我最终尝试安装PEAR,因此我可以轻松安装PHPUnit.我想建立一个Mac,Apache,MySQL,PHP,PHPUnit开发环境,以便我可以在本地进行测试.我已经有Apach,MySQL和PHP工作了.现在我只需要PHPUnit,这意味着我需要PEAR来安装它.

我已经搜遍了所有,并且有关于如何在Mac OS X 10.5上安装PEAR的"教程"的一些变体.但是,我似乎无法让他们中的任何一个工作!有人有这个成功吗?我并不完全相信我已经设置了应有的一切,所以如果您可以包含"默认"Mac OS X 10.5包含路径,或者简单解释一切应该去哪里,我将不胜感激.

按照教程,我执行以下操作:

curl http://pear.php.net/go-pear > go-pear.php
sudo php -q go-pear.php
Run Code Online (Sandbox Code Playgroud)

我按Enter键直到找到包含7个包含路径的列表:

1. Installation prefix ($prefix) : /Users/andrew
2. Temporary files directory     : $prefix/temp
3. Binaries directory            : $prefix/bin
4. PHP code directory ($php_dir) : $prefix/PEAR
5. Documentation base directory  : $php_dir/docs
6. Data base directory           : $php_dir/data
7. Tests base directory          : $php_dir/tests
Run Code Online (Sandbox Code Playgroud)

我改变Installation prefix/usr/local,按回车键继续,类型Y也安装PEAR_Frontend_Web-beta, PEAR_Frontend_Gtk2, MDB2.最终,一切都安装好了.

下一个...

在第一次尝试时,我认为include_path是从php.ini文件中注释掉的,但由于我已经更改了这一行,这不是我第一次尝试安装,我得到以下消息:

WARNING!  The …
Run Code Online (Sandbox Code Playgroud)

php macos pear osx-leopard

10
推荐指数
1
解决办法
2万
查看次数

山狮php梨和pecl

我升级到Mountain Lion并安装了php5.4,这需要一些调整Mountain Lion更改php位置

我的下一个问题是如果我跑pear -v或者pecl -v这些回归

Could not open input file: /usr/lib/php/pear/pearcmd.php

Could not open input file: /usr/lib/php/pear/peclcmd.php
Run Code Online (Sandbox Code Playgroud)

我是否需要更改pear和pecl以指向安装在/ usr/local/php5/bin /中的新php

如果是这样,我该如何做,我将丢失所有以前安装的扩展程序,如phpunit?

谢谢

php pear pecl osx-mountain-lion

10
推荐指数
2
解决办法
1万
查看次数