Home Forums Support Can't save or send invoice: The client field is required

This topic contains 8 replies, has 2 voices, and was last updated by  lalten 6 days, 4 hours ago.

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #20407

    lalten
    Participant

    I installed Invoice Ninja 4.5.12 on an Uberspace 6 shared hosting using Per Guth’s instructions at https://github.com/perguth/install-invoiceninja.

    Everything went well, except I can’t save drafts of invoices or send them out. I get the error message “There was an error saving your invoice The client field is required.”

    When I enable debugging in the settings, there is one exception:
    The given data failed to pass validation.
    /var/www/virtual/USERNAME/SUBDOMAIN.DOMAIN/vendor/laravel/framework/src/Illuminate/Foundation/Http/FormRequest.php#125
    Illuminate\Validation\ValidationException

    I confirmed that the MySQL users database has is_admin = 1

    The error remains both with and without the ‘attach PDF to email’ setting.

    storage/logs/laravel-error log shows no new errors

    What’s wrong? How can I fix this?

    #20408

    DavidBomba
    Keymaster

    Do you have a valid client selected on the invoice?

    #20409

    lalten
    Participant

    I tried it by adding a client and choosing that one, and by creating one right in the form. Same result. Is there any field that absolutely needs to be there? I entered standard stuff like name, contact.

    #20410

    DavidBomba
    Keymaster

    it could be a mod-security rule causing the issue. Are you able to temporarily disable modsecurity

    #20411

    lalten
    Participant

    Hm, I tried changing config/app.php’s APP_URL to a http:// url instead of https://.
    And commented out these linesin .htaccess

      RewriteCond %{ENV:HTTPS} !=on
      RewriteRule ^(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    But for some reason I get a 302 redirect and always land on the https site, even in Icognito Chrome.

    • This reply was modified 6 days, 19 hours ago by  lalten.
    #20413

    lalten
    Participant

    I also added

    <IfModule mod_security.c>
      SecFilterEngine Off
      SecFilterScanPOST Off
    </IfModule>

    to .htaccess but it didn’t help

    • This reply was modified 6 days, 19 hours ago by  lalten.
    #20415

    lalten
    Participant

    I noticed that php prints a warning:

    $ php -v
    Failed loading /package/host/localhost/php-5.6.18/lib/php/extensions/no-debug-non-zts-20131226/opcache.so:  /package/host/localhost/php-5.6.18/lib/php/extensions/no-debug-non-zts-20131226/opcache.so: undefined symbol: zend_opcode_handlers
    PHP 7.0.33 (cli) (built: Dec 11 2018 17:04:18) ( NTS )
    Copyright (c) 1997-2017 The PHP Group
    Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

    Do you think that could cause a problem? I don’t see why PHP 7.0 would try to load a PHP 5 lib. But then I also don’t really know much about how PHP works 😉

    #20429

    lalten
    Participant

    I found out that Apache’s error_log contains some info:

    [Wed Apr 17 15:46:24 2019] [warn] [client XXXXXXXX] mod_fcgid: stderr: PHP Warning:  Unknown: Unable to create temporary file, Check permissions in temporary files directory. in Unknown on line 0, referer: https://SUBDOMAIN.DOMAIN/invoices/create
    [Wed Apr 17 15:46:24 2019] [warn] [client XXXXXXXX] mod_fcgid: stderr: PHP Warning:  Unknown: POST data can't be buffered; all data discarded in Unknown on line 0, referer: https://SUBDOMAIN.DOMAIN/invoices/create

    fcgid runs php with user permissions. (German Uberspace docs: https://wiki.uberspace.de/webserver:fastcgi)

    What is the temporary files directory? How can I change it to a location it has access to?

    #20430

    lalten
    Participant

    I uncommented the following line in my php.ini:
    sys_temp_dir = "/tmp"

    Now it seems to work!

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.

Posted in: