Cron no longer works after server migration and phplist upgrade

Hi, first post here.
I have been using phplist for many years now. I just migrated to a new server running: nginx CentOS Linux 7; php 5.4.16, and upgraded phplist to 3.2.7. All the directories are the same, and I can send using the ‘process the queue’ button, but my cron seems to do nothing.
The server log shows the cron running every ten minutes without any errors, but my queue never goes down. I’m sending from inside a Drupal multi site configuration, but like I said, this all worked fine before the migration, and list upgrade.

This is what the cron looks like:
php /usr/bin/php /var/www/vhosts/ -pprocessqueue -c/var/www/vhosts/

I have checked all the folder and file permissions, and everything looks the same as when it all worked great. Other that it was an older version of php, and centos, my old server was not nginx. I don’t know if that would make any difference though. I guess I shouldn’t have upgraded phplist right after the move. Now I don’t know if this is related to the new server, of the new copy of phplist.

By the way, the cron is being setup using Plesk.

@wxman You should capture the output of the cron job to see whether phplist is reporting any problems or even if the command is actually running.

I’ve been searching through the docs on how to do just that, but I don’t think I found the right instructions. I don’t suppose somebody could let me know how to do that, or point me to the right place?

Something like this, you need to use a directory where the web server has write access

php /usr/bin/php /var/www/vhosts/ -pprocessqueue -c/var/www/vhosts/ >/xxx/xxx/processqueue.log 2>&1

I have determined it’s something to do with my new server because I tried to run a cron with another one of our sites and the same thing happens: no sending. That site has a different version of phplist. Somehow I need to capture what phplist is showing going wrong.

I added a log file to the list directory, and changed the cron to:
php /usr/bin/php /var/www/vhosts/ -pprocessqueue -c/var/www/vhosts/ >/var/www/vhosts/ 2>&1

Now the cron is once again running with no errors, but still doesn’t send, and nothing is being written to the new log file.

@wxman What about the phplist event log, is anything shown there? If you enable verbose in your config.php file there might be more detailed output.

This suggests something wrong with the command. At the very least there should be a few lines identifying the phplist version written to that log file

phpList version 3.2.6 (c) 2000-2017 phpList Ltd,
phpList - Started [0.0128740000] (145)
phpList - Script stage: 6 [0.0053310000] (149)
phpList - Finished, Nothing to do [0.0009680000] (150)
phpList - Finished, All done [0.0025620000] (153)

I had verbose turned on, and the events log only shows the runs that have run. According to it nothing is wrong.

It’s like the cron command isn’t even ‘touching’ the phpList files.

Can you show the lines from the event log? Are you sure that there is nothing written to the cron log file?

This is the top three lines from the Log of Events:
686605 2017-01-21 11:57:26 Less than batch size were sent, so reloading imminently
686604 2017-01-21 11:57:26 Finished this run
686603 2017-01-21 11:57:26 2 messages sent in 0.25 seconds (28942 msgs/hr

I have just noticed what you posted as the cron command. This is wrong.

You might be right. I had changed it because the server tech said I needed to add php in front of the /usr/bin/php. I just set up a test to try it again.

Unbelievable! It just worked. I should (almost) never listen to other techs. Thanks for helping, but I guess that’s all that was wront from the cron.
Of course I would still like to know why nothing is writen to my custom log file, but I’m happy for now that it’s at least moving mail.