了解PHP库安装

Yar*_*rin 18 php installation pear

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

以下是我要介绍的一些具体要点:

  1. 与PHP库相关时,"安装"是什么意思?
  2. 库和扩展之间有什么区别?
  3. php.ini如何适应?
  4. PEAR如何适应?
  5. 如何导入/包含库?
  6. 如果我创建自己的库,那么打包和分发它的最佳方法是什么?

谢谢 - 抱歉多部分......

gah*_*ooa 13

几点......

PHP没有本机"导入"基础结构,如python,java或.net.有几种方法可以在PHP中使用库.

  1. 将它们编译成PHP二进制文件.这是最先进的方式,除非您有特殊需求,否则通常不可取.

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

  3. 在某处的服务器上安装PHP代码,并将()包含到PHP脚本中.

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

-
在基本级别,代码是解释器的一部分(静态或动态),或者是包含()到项目中的普通旧PHP代码.

出于您的目的,我只能建议您坚持使用行业标准的PHP发行版(选择一个好的Linux操作系统,并使用它的PHP).然后,几乎所有在解释器级别需要的库都可以作为附加软件包使用,其复杂性由每天都可以使用.

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

yum install php php-memcached php-gd php-pecl

-
关于您可能想要使用的所有其他类型的库,最有可能采用一个良好的PHP框架来处理所有这些问题.

一些例子是:

  1. Zend框架
  2. CakePHP的
  3. http://www.phpframeworks.com/
  4. 等等...

(不是任何顺序,只是想到的那些)

如果您已采用使用RPM或类似方法的标准方法来管理PHP和扩展方面的编译,那么一个良好的可靠框架将负责包含您需要的所有其他PHP库代码.

最终结果是,您专注于交付产品,而不是您将不得不学习和发明的所有基础架构.

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

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

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

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

<VirtualHost *>
    ServerName www.example.com       
    DocumentRoot /home/joe/site/docroot
    php_value include_path "/home/joe/site/php-code"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

-
为了回答您关于自己的图书馆的#6问题以及打包它的最佳方法,我建议您首先评估图书馆的需求.如果你真的想要做某事,那么找出人们最常见的做法.如果它是一个简单的库,那么带有一个不错的网站的.php文件就足够了.

-
也许有点漫无边际,但我希望这能指出你正确的方向.


Kin*_*nch 4

全部与 PHP 直接相关:

  1. 通常只需复制并确保想要使用它的东西知道它在哪里。
  2. 扩展通常用 C 语言编写并由解释器加载,而库通常意味着本机 PHP 库。
  3. 不知道,你想知道什么在这里。ini 加载扩展并设置一些设置。它与安装没有直接关联,...您可以在此处设置包含路径(或其他内容)。
  4. 您可以用它安装库;)也不知道您想知道什么。
  5. 通常require(_once)include(_once). 对于课程,您可以设置自动加载器。请参阅 PHP 手册。
  6. 打包/存档(zip,gz,tarball,..)并制作下载链接?另外:不知道你想要什么。

如果您想编写 PHP 库并想要一种简单的打包和分发方法,那么可以看看 PEAR。