Hi Erik,

AFAIK, that should be enough and your setup should be correct.
How do you know phpfpm does not use your file ?

You can use `systemctl cat phpfpm.service` to see what command is used to start phpfpm and what php.ini file is used.

Guillaume.

Le 29/09/15 14:50, 4levels a écrit :
Hi Guillaume,

I've tried adding your approach to the phpfpm config as follows and a php.ini file is now being generated in the store with the added values from the function call, great! I just don't see at the moment how I can tell phpfpm to use that file instead of the default php-recommend.ini. I'm pretty sure I'm overlooking something, hopefully someone here spots the issue easily ;-)

This is what I have in /etc/nixos/configuration.nix

  ...

  # PHP FPM
  services.phpfpm.phpIni = pkgs.runCommand "php.ini" {
    options = ''
      date.timezone = Europe/Brussels
extension = "${pkgs.phpPackages.xdebug}/lib/php/extensions/xdebug.so"
      max_execution_time = 30
      post_max_size = 100M
      upload_max_size = 100M
      upload_max_filesize = 20M
      memory_limit = 256M
      xdebug.remote_enable = true
      xdebug.remote_host = 127.0.0.1
      xdebug.remote_port = 9000
      xdebug.remote_handler = dbgp
      xdebug.profiler_enable = 0
      xdebug.profiler_output_dir = "/tmp/xdebug"
      xdebug.remote_mode = req
    '';
  }
  ''
    cat ${pkgs.php}/etc/php-recommended.ini > $out
    echo "$options" >> $out
  '';

  services.phpfpm.poolConfigs = { ...

On Tue, Sep 29, 2015 at 1:14 PM 4levels <4lev...@gmail.com <mailto:4lev...@gmail.com>> wrote:

    Hi Guillaume,

    Thanks for your reply and hint on regenerating the php.ini file,
    I'l try that right away.
    I do see the issues with what you described in other packages
    being modified by installing a subpackage, but isn't that normal
    in a dependency relation between php and xdebug?  How do the other
    php packages accomplish this? Eg. the same goes for apcu as well:
    the package can be installed and configured but is never being
    used by php (neither in cli or via fpm).

    Providing a hook into the phpIni generation definitely looks like
    the way to go to me.  This could then be used in the various php
    packages that need php.ini options to be adjusted.

    For clarification: I'm nowhere near even understanding how nixos
    works, let alone write my own packages, I'm just trying to setup a
    valid configuration for an nginx / phpfpm / lumen/laravel server..
     so it's very possible that I'm making wrong assumptions!

    Kind regards et merci beaucoup,

    Erik

    On Tue, Sep 29, 2015 at 10:25 AM Guillaume Maudoux (Layus)
    <layus...@gmail.com <mailto:layus...@gmail.com>> wrote:

        Dear Erik,

        I am no expert on this topic, but it seems to me that writing
        a custom
        phpIni is the way to go.
        For example, I have the following code in my config, which
        mimics the
        default phpIni generation.

               phpIni = pkgs.runCommand "php.ini"
                 {
                   options = ''
        extension=${pkgs.phpPackages.imagick}/lib/php/extensions/imagick.so
                     max_execution_time = 30
                     post_max_size = 100M
                     upload_max_size = 100M
                     upload_max_filesize = 20M
                     memory_limit = 256M
                   '';
                 }
                 ''
                   cat ${pkgs.php}/etc/php-recommended.ini > $out
                   echo "$options" >> $out
                 '';

        It would not be the NixOS way to allow a newly installed
        package to
        modify the behaviour of another package.
        What if using the new extension suddenly breaks another server ?
        In fact, if PHP needs to be modified and rebuilt with
        php-xdebug as a
        dependency to account for it.
        (Of course, PHP could also load all the extensions in
        /var/lib/php/extensions of such, but that is precisely what
        NixOS tries
        to avoid.)

        Still, I agree that the phpIni creation could be turned into
        an helper
        (maybe pkgs.php.customPhpIni {extraOptions = ''...'';}).

        Best regards,
        Guillaume.

        PS: This is just one instance of a larger problem.
        For example, newly installed latex packages are expected to be
        accessible to pdflatex right after their install.
        But this means that pdflatex needs to be modified and rebuilt
        to account
        for the new dependency ;-).


        Le 29/09/15 09:52, 4levels a écrit :
        > Dear Nix Devs,
        >
        > I'm somewhat struggling to enable the php-xdebug extension
        in php.
        > I did manage to get the extension installed but the php
        interpreter
        > itself seems to ignore its existence.
        >
        > I did find some topics on this and as a workaround I could
        specify a
        > custom php-ini file but I was wondering if there is no
        better way.
        > Shouldn't just installing the php-package xdebug also enable
        it by
        > default?
        >
        > I'm not using apache but nginx with php-fpm as webserver so
        the httpd
        > options seem unusable.  I also can't seem to add options to
        php in the
        > php-fpm pool config, to load the extension and set some
        xdebug params.
        >
        > Any advice on how to go about this?  I'd love to see php
        compiled with
        > xdebug so I can use the phpunit code coverage reports.
        >
        > So php with xdebug - how to?
        >
        > Kind regards,
        >
        > Erik
        >
        >
        > _______________________________________________
        > nix-dev mailing list
        > nix-dev@lists.science.uu.nl <mailto:nix-dev@lists.science.uu.nl>
        > http://lists.science.uu.nl/mailman/listinfo/nix-dev

        _______________________________________________
        nix-dev mailing list
        nix-dev@lists.science.uu.nl <mailto:nix-dev@lists.science.uu.nl>
        http://lists.science.uu.nl/mailman/listinfo/nix-dev


_______________________________________________
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to