在 PHP 项目中包含 SVN class

Including the SVN class in a PHP Project

所以这可能有一个简单的答案,但我没有在任何地方找到它。

我有以下代码:

function getSVN(){
    $svn = new SVN; 
    $log = $svn->log('https://svn.repo/trunk/', SVN::HEAD); 
}

毫不奇怪,我收到以下错误:

Fatal error: Class 'SVN' not found

所以我尝试使用以下方法包含它:

use SVN; 

但是我得到了:

Warning: The use statement with non-compound name 'SVN' has no effect

包含 PHP 的 SVN class 的正确方法是什么?

SVN PHP 客户端需要加载额外的 PHP 扩展。

http://php.net/manual/en/svn.installation.php 有一些一般的安装说明,但真正的黄金在评论中。

能力系统(包括Ubuntu)

sudo apt-get php5-svn Aptitude 倾向于解决依赖关系,因此我们在这方面做得很好。

Yellowdog 更新程序,修改 (yum) 系统

yum install subversion subversion-devel neon neon-devel

pecl install svn

Windows

如果能找到DLL,请下载。 Otherwise compile from source.

适用于所有系统

Compile from source

完成所有这些之后,您需要确保:

1) php.ini 中有一个相关条目可以启用此扩展:例如extension=svn.so(或 DLL) 2) php 中包含一个相关的配置.ini 文件(应该在phpinfo(); 中说明的路径)

在任何情况下,扩展都需要显示在 php -m 列表中

虽然这个问题和我 post 一样已经有将近 3 年的历史了,但我想贡献我的解决方案,以帮助其他在 Redhat 风格的机器上遇到错误的人。

我能够通过 RPM 包安装成功安装它。以下链接可能对您有所帮助,具体取决于 OS 和 PHP 版本。

www.rpmfind.net

centos.pkgs.org

我只是按照 CentOS 软件包和 php pecl-svn 扩展的说明在 Redhat 6.9 PHP 5.6 服务器上安装,没有任何问题。希望同样适合你。祝你好运。