I'm running tinytiny RSS on OpenBSD httpd with PHP-FPM and MariaDB. In order to get mail working for it, I also needed these copied from their usual places into the /var/www chroot:
/var/www/usr/sbin/sendmail /var/www/usr/lib/libutil.so.12.1 /var/www/usr/lib/libc.so.80.1 /var/www/usr/libexec/ld.so /var/www/etc/resolv.conf /var/www/etc/hosts Hope this helps. On Fri, Nov 4, 2016 at 1:38 PM, Otto Moerbeek <o...@drijf.net> wrote: > On Fri, Nov 04, 2016 at 05:29:54PM +0000, Peter Fraser wrote: > > > I actually wanted to call php's mail function which I could not get to > work, I > > think I have tracked to problem down to exec not working > > the details follow using a test web page datetest.php > > > > > > > > newweb:/var/www/htdocs/web # cat datetest.php > > cat datetest.php > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> > > > > <HTML> > > <HEAD> > > <title>Date Test</title> > > </HEAD> > > <p> > > <?php > > ini_set('display_errors', 'On'); > > error_reporting(E_ALL | E_STRICT); > > if(function_exists('exec')) { > > echo "exec is enabled"; > > } else { > > echo "exec is disabled"; > > } > > echo '<br>Date Test<br>'; > > exec('/bin/date',$output); > > print_r($output); > > echo '<br>End Date test'; > > ?> > > </p> > > </HTML> > > newweb:/var/www/htdocs/web # php-7.0 -f datetest.php > > php-7.0 -f datetest.php > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> > > > > <HTML> > > <HEAD> > > <title>Date Test</title> > > </HEAD> > > <p> > > exec is enabled<br>Date Test<br>Array > > ( > > [0] => Fri Nov 4 13:16:35 EDT 2016 > > ) > > <br>End Date test</p> > > </HTML> > > newweb:/var/www/htdocs/web # # date has been copied under /var/www/bin > for > > testing > > # date has been copied under /var/www/bin > > newweb:/var/www/htdocs/web # ls -l /var/www/bin > > ls -l /var/www/bin > > total 4216 > > ---------- 1 root bin 249392 Jul 26 14:48 bgpctl > > -rwxr-xr-x 1 root daemon 119216 Nov 3 13:18 cat > > -r-xr-xr-x 1 root daemon 140112 Nov 4 12:52 date > > -rwxr-xr-x 1 root bin 271856 Jul 25 20:37 femail > > -rwxr-xr-x 1 root daemon 470096 Nov 3 12:49 ksh > > -rwxr-xr-x 1 root daemon 9816 Nov 3 12:51 logger > > -rwxrwxrwx 1 root daemon 27 Nov 3 15:56 mailtest > > -rwxr-xr-x 1 root bin 204240 Jul 26 14:48 ping > > ---------- 1 root bin 207920 Jul 26 14:48 ping6 > > ---------- 2 root bin 179760 Jul 26 14:48 traceroute > > ---------- 2 root bin 179760 Jul 26 14:48 traceroute6 > > newweb:/var/www/htdocs/web # chroot -u www /var/www /bin/date > > chroot -u www /var/www /bin/date > > Fri Nov 4 17:18:34 GMT 2016 > > > > I believe this shows that the php web page is correct and that 'date' > does > > exist in the chroot, > > > > but when I invoke web page from a browser I get. > > > > exec is enabled > > Date Test > > Array ( ) > > End Date test > > > > What am I doing wrong. > > For exec to work you also need /bin/sh > > -Otto