我正在尝试理解与在系统上安装PHP库相关的选项和术语(Linux / OSX)
以下是我试图涵盖的一些具体要点:
谢谢 - 抱歉多部分......
答案 0 :(得分:13)
几点......
PHP没有本地“导入”基础结构,如python,java或.net。有几种方法可以在PHP中使用库。
将它们编译成PHP二进制文件。这是最先进的方式,除非您有非常特殊的需求,否则通常不可取。
在服务器上将它们安装为PHP模块,并将它们包含在PHP.ini中。从PHP程序员的角度来看,这些扩展是PHP的一部分 - 始终可用。添加和删除它们更容易,而无需重建PHP本身。
在某处的服务器上安装PHP代码,并将()包含在PHP脚本中。
将库的副本保存到项目中,并将其包含在PHP脚本中。
-
在基本级别,代码是解释器的一部分(静态或动态),或者是包含()到项目中的普通旧PHP代码。
出于您的目的,我只能建议您坚持使用行业标准的PHP发行版(选择一个好的Linux操作系统,并使用它的PHP)。然后,几乎所有在解释器级别需要的库都可以作为附加软件包使用,其复杂性由每天都可以使用。
在RedHat / Centos上,您可以运行:
yum install php php-memcached php-gd php-pecl
-
关于您可能想要使用的所有其他类型的库,最有可能采用一个良好的PHP框架来处理所有这些问题。
一些例子是:
(不是任何顺序,只是想到的那些)
如果您已采用使用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>
-
为了回答您关于自己的库的#6问题以及打包它的最佳方法,我建议您首先评估库的需求。如果你真的想要做某事,那么找出人们最常见的做法。如果它是一个简单的库,那么带有一个不错的网站的.php文件就足够了。
-
也许有点漫无边际,但我希望这能指出你正确的方向。
答案 1 :(得分:4)
所有与PHP直接相关:
require(_once)
或include(_once)
。对于课程,您可以设置自动加载器。请参阅PHP手册。如果您想编写PHP库并想要一种简单的打包和分发方式,那么请查看PEAR。