PHP SVN module install?


New member
I've got a long-used and vital homegrown content manager that utilizes PHP and SVN integration to handle content versioning and management across a couple of websites. My users are exceptionally resistant to changing the process, but I'm updating systems and versions to supported and more secure combinations of RHEL 8 and PHP 8.x after a subversion upgrade torched a bunch of my repository synchronization and I found significant compatibility issues with SVN versions, updated PHP and updated OS.

The last SVN PECL module is the beta 2.0.3 from 2019. It claims it supports PHP 8. I've got a RHEL 8 system with PHP 8 and Subversion 1.14. I can't get the module to install with PECL. When I try a pecl install svn I get

pecl/svn requires PHP (version >= 4.0.0, version <= 6.0.0), installed version is 8.0.27

I get the same error if I run pecl install svn-2.0.3.

I typo'd a variation of pecl install svn-2 and got this

Failed to download pecl/svn, version "2", latest release is version 2.0.3, stability "beta", use "channel://" to install

But I can't find any way to use that channel command. I've tried to add the channel but the commands to add or discover don't find the channel.xml for that channel.

I abandoned trying to do it with PECL and sought to compile from source. I successfully downloaded the tar.gz file unpack it and after running phpize attempt a configure. Running make after the configure I see this as the first error:
/tmp/svn-2.0.3/svn.c:296:53: error: expected ‘;’, ‘,’ or ‘)’ before ‘TSRMLS_DC’
static void php_svn_handle_error(svn_error_t *error TSRMLS_DC)

the config.log shows this:

configure:3129: checking how to run the C preprocessor
configure:3160: cc -E conftest.c
configure:3160: $? = 0
configure:3174: cc -E conftest.c
conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
compilation terminated.

My googlefu has basically failed me. Nothing I've found has led to a resolution. Are people just not coding to SVN with PHP anymore? Or have we gone back to using exec or shell_exec and not the SVN extension?

Any ideas?