Skip to content

Support for php-fpm.conf #74

Open
Open

Description

@oparoz

Quite a few settings are defined per pool when using PHP-FPM, so only scanning php.ini doesn't give the full picture.

Activity

  1. enygma commented on Sep 10, 2014

    @enygma
    Member

    Is there a way to detect when the FPM is in use automatically? It's be nice if it tried to detect that too (and maybe required a path to the conf file).

  2. oparoz commented on Sep 10, 2014

    @oparoz
    Author

    Well, in my case, I simply gave the path to the php-fpm.conf file, but the report was the same as for php.ini, so the scanner has ignored the settings found there.

    One problem is that those files contain several pools and each one can have different PHP settings, so it can be quite complex to report back. Each cell giving advice should have a note about the setting for each pool.

    Per example, php.ini has no open_basedir setting, but each pool as a path so that users can't access files outside of their home directory

    FAIL | WARNING | | open_basedir | [apps] Path is set, [special] Path is set, [php.ini] Warning...

  3. enygma commented on Sep 10, 2014

    @enygma
    Member

    Hmm, interesting....I'll have to check that out. thanks for the heads up!

  4. oparoz commented on Sep 10, 2014

    @oparoz
    Author

    Here is a template to give you an idea of what it looks like

    [DOMAINNAME]
    
    listen = /var/run/php5-fpm/DOMAINNAME.socket
    listen.backlog = -1
    listen.owner = nginx
    listen.group = www-data
    listen.mode=0660
    
    ; Unix user/group of processes
    user = (THE USERNAME OF THE USER THAT OWNS THE SITE FILES)
    group = www-data
    
    ; Choose how the process manager will control the number of child processes.
    pm = dynamic
    pm.max_children = 75
    pm.start_servers = 10
    pm.min_spare_servers = 5
    pm.max_spare_servers = 20
    pm.max_requests = 500
    
    ; Pass environment variables
    env[HOSTNAME] = $HOSTNAME
    env[PATH] = /usr/local/bin:/usr/bin:/bin
    env[TMP] = /tmp
    env[TMPDIR] = /tmp
    env[TEMP] = /tmp
    
    ; host-specific php ini settings here
    ; php_admin_value[open_basedir] = /var/www/DOMAINNAME/htdocs:/tmp
    
    

    The bit at the end is where all the custom PHP values will be added

  5. enygma commented on Sep 10, 2014

    @enygma
    Member

    Are they always prefixed with that "php_admin_value"?

  6. oparoz commented on Sep 10, 2014

    @oparoz
    Author

    You also have the boolean values
    php_flag[display_errors] = off

  7. enygma commented on Sep 10, 2014

    @enygma
    Member

    cool, thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions