tags:

views:

82

answers:

2

Hi,

As the title says, I want to know if it is be possible to automatically launch a PHP script when a restart of apache is done.

thanks

MORE INFO EDIT:

I will try to explain what is the purpose of this, the best I can. We are currently refactoring our application and we'll be stuck with 2 differents configuration file system for the time being, until all of the application flows are refactored (might take more than a year). The old one is using simple flat file in the key=value format (i.e. www.conf), while the new system will use cacheable php files (i.e. www.php). We need to replicate to www.php any config changes made in www.conf.

Since Apache gets restarted whenever there is a config change in www.conf, I thought it might be a good workaround solution to launch a PHP script, that would replicate the www.conf to www.php.

+3  A: 

At the risk of offending people (like myself) who prefer neat clean solutions, is changing the Apache's default start script an option for you? If so, that'd be the simplest solution

DVK
Why the down vote?
DVK
Not a real answer - these types of things should be posted as a comment, no?
barfoon
the -1 is not from me, but maybe you should put such comment into the comment section
favo
It was a real answer wrapped in a conditional, so no.
DVK
Question is is it possible - your answer doesnt answer that and questions the approach.
barfoon
I bet it's just a matter of phrasing. `Changing the Apache's default start script would be the simplest solution (if that's an option for you)` probably wouldn't have garnered a downvote.
webbiedave
@barfoon: Sometimes the approach is nonsense and it's best to propose another approach, or find out what the asker really wants to do. (Although I think webbiedave's comment on the question is better there than this answer)
Marian
Understandable, just trying to do my part as a stackoverflow citizen.
barfoon
+4  A: 

You need to modify you startup script for your apache.

Open your startup script, it should be in /etc/init.d/apache or apache2

Search for the start / restart section and add your cli call for your PHP script.

Example:

    restart)
            [..]
            php -q /tmp/myscript.php &
            ;;

Where /tmp/myscript.php is your php script that you want to launch.

The "&" at the end will start the script in the background so your startup will not wait until your php script has ended. If you want to wait until it has ended, remove the &.

You should not put such thing into your startup scripts, there might be better solutions. What are trying to achieve?

favo
/usr/bin/php-cli :P
Tobias
The binary location differs from system to system and compiling options ;)
favo
I tried to explain more precisely the goal of this in my first post. Would you know of a better solution?
Mademoiselle Vagin Cul
In that situation I would take the same approach. Its the easiest way and because you already have the restart in your update workflow, you won't have to add a new step. If the restart wouldn't be part of your current process, I would setup a process that checks for file changes and converts the config file if any changes are detected, most probably in a cronjob.
favo
thank you for the help!
Mademoiselle Vagin Cul