Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

php script that runs on the server without a client request

I am working on a site that require a php script running on a server without any request, it is a bot script that keeps (not full time but at least once a day) checking client accounts and send alert messages to clients when something happens.

any ideas are appreciated.

like image 508
Ayoub M. Avatar asked Feb 20 '26 23:02

Ayoub M.


1 Answers

Assuming you need to do this on linux, you may run any php script from the browser and from the CLI as well.

You may run a simple php script: <? echo "Ana are mere"; ?>

like this: php -f ./index.php

Be careful about file-permissions, and any bug that may creep inside your code, memory leaks or unallocated variables will become VERY visible now, as the process will run continuously.

If you dont want it running in the background all the time, take a look at crontab (http://unixgeeks.org/security/newbie/unix/cron-1.html) to be able to start jobs regularly.

-- edit--

take a look at php execute a background process and PHP: How to return information to a waiting script and continue processing

Basically you want to start a background process, and you may do this by either using exec() or fsockopen() or a file_get_contents() on your own script probably in this order, if don't have access to exec, or socket functions. Also take a look at https://www.php.net/manual/en/function.session-write-close.php so the "background script" won't "block" the request and https://www.php.net/manual/en/function.ignore-user-abort.php

like image 130
Quamis Avatar answered Feb 23 '26 15:02

Quamis



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!