Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Calling an svn update from a php script via a browser is not working

I have two scripts.

  1. running an update and calling shell_exec('svn update') and shell_exec('svn st')
  2. running a mysqldump shell_exec('mysqldump params')

The svn script is not running the update command, the svn st is printing results but not the svn update

I tried to declare parameters when calling svn update eg 'svn update ' . dir . ' --username myuser --password mypasswd --non-interactive'; -- still nothing Played with most of the params

If this is something related to binaries/permissions/groups, I don't see it. The mysqldump command works fine and is producing a file, so why isn't the svn updating the filesystem?

Please do not advise using core SVN classes in PHP. This is not an option, I don't have complete control over the server and the module is not available.

Thanks for your help,

-hbt

PS: important thing to mention here. The scripts works when called via the command line. It only fails when called via a web browser.

like image 326
hbt Avatar asked Dec 23 '22 02:12

hbt


1 Answers

I was also encountering the same problem but not even permissions solved it.

Based on some of the other advice here, I did:

<?php
echo shell_exec('2>&1 svn update /path/to/checked/out/directory/ --non-interactive');

I then got an error dumped into my browser:

svn: warning: Can't open file '/root/.subversion/servers': Permission denied
svn: OPTIONS of 'http://my.svn.server/svn/project/trunk': authorization failed: Could not authenticate to server: rejected Basic challenge (http://my.svn.server)

Not sure why my web server user tried to access /root but I fixed the problem without changing any permissions by adding --config-dir to the svn up command:

<?php
echo shell_exec('2>&1 svn update /path/to/checked/out/directory/ --non-interactive --config-dir /path/to/my/home/.subversion');

*Note that /path/to/my/home/.subversion exists because the initial checkout was done on the command line

like image 166
Deadpan110 Avatar answered Jan 02 '23 21:01

Deadpan110