SOLVED: Processqueue does not work on one install does in the other

Verision 3.3.3 on Centos 610
php -v:
ea-php-cli Copyright 2017 cPanel, Inc.
PHP 5.5.38 (cli) (built: Aug 28 2018 14:48:33)
Copyright © 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright © 1998-2015 Zend Technologies
with the ionCube PHP Loader v4.7.5, Copyright © 2002-2014, by ionCube Ltd., and
with Zend OPcache v7.0.6-dev, Copyright © 1999-2015, by Zend Technologies

I have two instances of phplist installed on a server. Lets call one of them domain1 and the other domain2.

processqueue works fine with domain1 - emails are kicked off by the cronjob and go out the door.

processqueue (or something) does not work on the second install. I can send emails by manually processing them from the phplist web interface no problem, but running cron jobs fails miserably.

The following command produces proper output when run on the command line from domain1 - the domain that works in tandem with a cron job:

/usr/local/bin/php /home/domain1/public_html/lists/admin/index.php -c /home/domain1/public_html/lists/config/config.php -p processqueue

phpList - phpList version 3.3.3 © 2000-2018 phpList Ltd,
phpList version 3.3.3 © 2000-2018 phpList Ltd, https://www.phplist.comphpList - Started [0.5786430000] (110)
phpList - Processing has started, [0.0034160000] (113)
phpList - One campaign to process. [0.0214590000] (115)
phpList - Processing campaign 325 [0.0117330000] (131)
phpList - Looking for subscribers [0.0021660000] (136)
phpList - Found them: 1 to process [0.0051510000] (142)
phpList - Processed 1 out of 1 subscribers [7.1860950000] (191)
phpList - It took 08 seconds to send this message [0.0019780000] (197)
phpList - Script stage: 5 [0.0014600000] (200)
phpList - 1 messages sent in 7.81 seconds (460 msgs/hr) [0.0010300000] (203)
phpList - Finished this run [0.0017440000] (209)

However, when running this command from the other domain directory - domain2 - it just does nothing:

/usr/local/bin/php /home/domain2/public_html/lists/admin/index.php -c /home/domain2/public_html/lists/config/config.php -p processqueue

produces nothing. Nada. Zilch. Zero. Just bounces back to the command line.

Don’t know if this is related or not but when clicking on the phpinfo link on the side panel of phplist I get the error: Forbidden. You don’t have permission to access /lists/admin/index.php on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.

FYI the above Forbidden error occurs in BOTH domains and installs, not just the one which has some kind of faulty cron job processqueu issue.

I was told to to use the binary for the specific PHP version your program needs to use rather than using “/usr/bin/php”.

So the new crontab entry looks like this:

/usr/bin/ea-php56 /home/domain2/public_html/lists/admin/index.php -c /home/domain2/public_html/lists/config/config.php -p processqueue

1 Like

@pancakehollow So PHP 5.5.38 didn’t work but PHP 5.6 did. Both should work, plugins aside. Not sure why it didnt’ in your case – regular testing didn’t find this issue yet, but the send process is not yet included in automated testing. Someone is currently working on that however, so in future all supported versions of PHP should be tested with every commit to phpList, including high level queue processing.