了解PHP库安装

了解PHP库安装,php,installation,pear,Php,Installation,Pear,我试图理解与在系统(Linux/OSX)上“安装”PHP库相关的选项和术语 以下是我试图涵盖的一些具体问题: 与PHP库相关时,“安装”是什么意思 库和扩展之间有什么区别 php.ini如何适应 梨是怎么放进去的 如何导入/包含库 如果我创建自己的库,那么打包和分发它的最佳方式是什么 感谢-并对多部分内容表示歉意…所有内容都与PHP直接相关: 通常只是复制并确保想要使用它的东西知道它在哪里 扩展通常用C编写并由解释器加载,而库通常指本机PHP库 不知道,你想知道什么。ini加载扩展并设置一些设置

我试图理解与在系统(Linux/OSX)上“安装”PHP库相关的选项和术语

以下是我试图涵盖的一些具体问题:

  • 与PHP库相关时,“安装”是什么意思
  • 库和扩展之间有什么区别
  • php.ini如何适应
  • 梨是怎么放进去的
  • 如何导入/包含库
  • 如果我创建自己的库,那么打包和分发它的最佳方式是什么

  • 感谢-并对多部分内容表示歉意…

    所有内容都与PHP直接相关:

  • 通常只是复制并确保想要使用它的东西知道它在哪里
  • 扩展通常用C编写并由解释器加载,而库通常指本机PHP库
  • 不知道,你想知道什么。ini加载扩展并设置一些设置。它与安装没有直接关联。。。。您可以在此处设置包含路径(或其他内容)
  • 您可以使用它安装库;)也不知道,你想知道什么
  • 通常
    要求(\u一次)
    包括(\u一次)
    。对于类,可以设置自动加载器。请参阅PHP手册
  • 打包/归档(zip、gz、tarball等)并制作下载链接?还有:不知道,你想要什么
  • 如果您想编写PHP库,并且想要一种简单的打包和分发方法,那么可以看看PEAR

    PHP没有本地的“导入”基础设施,如python、java或.net。有几种方法可以在PHP中使用库

  • 将它们编译成PHP二进制文件。这是最先进的方法,除非你有特别的需要,否则通常是不可取的

  • 将它们作为PHP模块安装在服务器上,并将它们包含在PHP.ini中。从PHP程序员的角度来看,这些扩展是PHP的一部分——总是可用的。添加和删除它们更容易,无需重新构建PHP本身

  • 在服务器的某处安装PHP代码,并将其包含到PHP脚本中

  • 将库的副本保存到项目中,并将其包含到PHP脚本中

  • --
    基本上,代码要么是解释器的一部分(静态或动态),要么是包含在项目中的普通旧PHP代码

    出于您的目的,我只能建议您坚持使用行业标准的PHP发行版(选择一个好的linux操作系统,并使用它的PHP)。然后,几乎所有解释器级别需要的库都可以作为附加包提供,其复杂性取决于那些每天都这样做的人

    在RedHat/Centos上,您可以运行:

    yum安装php memcached php gd php pecl

    --
    考虑到您可能想要使用的所有其他类型的库,最好采用一个好的PHP框架,为您解决所有这些问题

    例如:

  • Zend框架
  • CakePHP
  • 共点火器
  • 等等
  • (不是按任何顺序,只是想到的顺序)

    如果您已经采用了使用RPM或类似的标准方法来管理PHP和扩展的编译部分,那么一个好的可靠框架将考虑包含您需要的所有附加PHP库代码

    最终的结果是,您将重点放在交付产品上,而不是所有需要学习和发明的基础设施上

    --
    php.ini在php启动时被解析并运行(每次用于命令行,在apache中每个服务器启动一次)。它定义了许多设置,包括许多模块,配置这些模块,等等

    实际上,您可以使用php中的ini_set()函数覆盖php.ini中的某些设置。但是,这仅对某些设置有效。在脚本开始之前,需要设置其他脚本

    在apache下运行时,可以向
    .htaccess
    指令添加行,这些指令完全覆盖该目录/虚拟主机的PHP.ini

    (请更正我的语法,如果错误,请删除此注释)

    
    服务器名www.example.com
    DocumentRoot/home/joe/site/docroot
    php_值包括_路径“/home/joe/site/php代码”
    
    --
    关于你自己的图书馆和包装它的最佳方式,我建议你首先评估图书馆的需求。如果你真的对某件事感兴趣,那就找出人们做这件事的最普遍的方式。如果它是一个简单的库,那么一个带有漂亮网站的.php文件就足够了

    --

    可能有点杂乱无章,但我希望这能为您指明正确的方向。

    php文档中有一些是正确的:,。谢谢,但您能解释一下为什么PEAR比“打包……并制作下载链接”更简单吗?使用pear安装有两行:
    pear channel discover mychannel.example.com
    pear install mychannel.example.com/MyPackage
    。如果你没有频道服务器(google for pearfarm;),你也可以提供一个可下载的软件包。安装类似于pear install MyPackage-x.y.z.tgz(x.y.z取决于包文件的版本)。要创建包,您必须编写一个
    package.xml
    (google表示“pear-package.xml”)),但当它存在时,创建一个新包只需一个简短的
    pear-package
    ,然后您就可以将其上载到主机或频道服务器。
    <VirtualHost *>
        ServerName www.example.com       
        DocumentRoot /home/joe/site/docroot
        php_value include_path "/home/joe/site/php-code"
    </VirtualHost>