Unable to Save Configuration

When attempting to change any of the configuration settings (time zone, etc.) on my site, the system hangs with a “Please Wait” message.



Clean install

Shared Host

Version 1.2.0

PHP Version 5.4.45

MySQL Version 5.6.23

Apache Version 2.4.16



Screenshot%202015-10-10%2015.59.29.png

When attempting to change any of the configuration settings (time zone, etc.) on my site, the system hangs with a “Please Wait” message.

Clean install
Shared Host
Version 1.2.0
PHP Version 5.4.45
MySQL Version 5.6.23
Apache Version 2.4.16

Check Mautic error log (in the app/logs folder), server error log (wherever your server is storing it, check phpinfo for it) and dev tools console (press F12 in your browser and navigate to Console tab)

You should be able to see the error message somewhere. My bet is a problem with file permissions.

@escopecz I’m running into this too. Started a separate conversation already, but reading this post and wanted to see if you had an idea. Just for testing, I even went through my mautic folder and granted 777 just to see if that would change anything. I wiped my install this morning and reinstalled 2.0.1 clean - still hangs.

No error in the mautic logs.

I’m on a Debian LEMP VPS. php 5.6.22. Other mautic tasks seem fine.

@escopecz : thanks for helping.

The browser’s dev console is giving this:

My website error.log is giving this:

(note: after seeing the errors below, I did a chown to ensure the web user had access to the app and app/cache folder. also toasted contents of cache. still not working.)

2016/07/16 12:46:01 [error] 25399#0: *1400 FastCGI sent in stderr: "PHP message: exception 'UnexpectedValueException' with message 'The stream or file "/var/www/oilygurus.com/public_html/content/app/logs/mautic_prod-2016-07-16.php" could not be opened: failed to open stream: Permission denied' in /var/www/oilygurus.com/public_html/content/app/cache/prod/classes.php:4426
Stack trace:
#0 /var/www/oilygurus.com/public_html/content/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(88): MonologHandlerStreamHandler->write(Array)
#1 /var/www/oilygurus.com/public_html/content/app/cache/prod/classes.php(4360): MonologHandlerRotatingFileHandler->write(Array)
#2 /var/www/oilygurus.com/public_html/content/app/cache/prod/classes.php(4849): MonologHandlerAbstractProcessingHandler->handle(Array)
#3 /var/www/oilygurus.com/public_html/content/app/cache/prod/classes.php(4956): MonologLogger->addRecord(500, 'Uncaught PHP Ex...', Array)
#4 /var/www/oilygurus.com/public_html/content/vendor/symfony/http-kernel/EventListener/ExceptionListener.php(89): MonologLogger->cri" while reading response header from upstream, client: 92.236.186.156, server: oilygurus.com, request: 

Okay, here is what Mautic log is saying:

[2016-07-16 17:01:01] mautic.NOTICE: DoctrineDBALExceptionConnectionException: An exception occured in driver: SQLSTATE[28000] [1045] Access denied for user 'root'@'127.0.0.1' (using password: NO) (uncaught exception) at /var/www/oilygurus.com/public_html/content/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 103 while running console command `mautic:segments:update` [] []
[2016-07-16 17:01:01] mautic.NOTICE: DoctrineDBALExceptionConnectionException: An exception occured in driver: SQLSTATE[28000] [1045] Access denied for user 'root'@'127.0.0.1' (using password: NO) (uncaught exception) at /var/www/oilygurus.com/public_html/content/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 103 while running console command `mautic:campaigns:rebuild` [] []
[2016-07-16 17:01:01] mautic.NOTICE: DoctrineDBALExceptionConnectionException: An exception occured in driver: SQLSTATE[28000] [1045] Access denied for user 'root'@'127.0.0.1' (using password: NO) (uncaught exception) at /var/www/oilygurus.com/public_html/content/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php line 103 while running console command `mautic:campaigns:trigger` [] []

I’ll add another voice to this chorus. I’ve been trying to troubleshoot the same thing all week. Same problem – 403 Forbidden on libraries.js when saving configuration. I’ve checked permissions. Folder is set to 755, file to 644.

Advice would be much appreciated!

I’ve checked my app/config/local.php and made sure the values were correct for my db. Played around with changing from localhost to the actual IP to 127.0.0.1 etc. Nothing is working for me. The odd thing? Now I’m not receiving ANY errors in my nginx site error log or the mautic one.

@escopecz i’m happy to give you access to my server if that would help anything. I’m on a Linode VPS (Debian LEMP).

test

Thanks @MxyzptlkFishStix but I’m gonna need a little more detail. I have general rewrite rules working in nginx, because WordPress needs them. But are you referring to something in particular? @escopecz or @RobLaughter - do either of you know what this person is saying with the post above?

The only thing in my mautic log now is this:

[2016-07-18 01:12:28] mautic.ERROR: Uncaught PHP Exception SymfonyComponentHttpKernelExceptionNotFoundHttpException: "Requested URL not found: /content/index.php/media/js/libraries.js" at /var/www/oilygurus.com/public_html/content/app/bundles/CoreBundle/Controller/CommonController.php line 411 {"exception":"[object] (Symfony\Component\HttpKernel\Exception\NotFoundHttpException(code: 0): Requested URL not found: /content/index.php/media/js/libraries.js at /var/www/oilygurus.com/public_html/content/app/bundles/CoreBundle/Controller/CommonController.php:411)"} []
[2016-07-18 01:12:57] mautic.ERROR: Uncaught PHP Exception SymfonyComponentHttpKernelExceptionNotFoundHttpException: "Requested URL not found: /content/index.php/media/js/libraries.js" at /var/www/oilygurus.com/public_html/content/app/bundles/CoreBundle/Controller/CommonController.php line 411 {"exception":"[object] (Symfony\Component\HttpKernel\Exception\NotFoundHttpException(code: 0): Requested URL not found: /content/index.php/media/js/libraries.js at /var/www/oilygurus.com/public_html/content/app/bundles/CoreBundle/Controller/CommonController.php:411)"} []

Have you verified that this file actually exists?

/content/index.php/media/js/libraries.js

If not, maybe get the latest file from a clean unzipped mautic and put it in that location?

Might not help but may let you get past this error at least?

Thanks @sambarnes90 . Here’s a screen shot of my folders - looks like I’m good, but see what you think:

Thanks @MxyzptlkFishStix

Here’s my site block:

server {
	listen 80;
	listen [::]:80;

	root /var/www/oilygurus.com/public_html;
	access_log /var/www/oilygurus.com/logs/access.log;
        error_log /var/www/oilygurus.com/logs/error.log;	
	index index.php index.html;

	server_name oilygurus.com www.oilygurus.com;
	
	location / {
        try_files $uri $uri/ /index.php?$args;
	}
	
	location /content {
                try_files $uri $uri/  /content/?q=$uri&$args;
        }
	
	# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
	#
	location ~ .php$ {
		include snippets/fastcgi-php.conf;
	#
	#	# With php5-cgi alone:
	#	fastcgi_pass 127.0.0.1:9000;
	#	# With php5-fpm:
		fastcgi_pass unix:/var/run/php5-fpm.sock;
	}

	# deny access to .htaccess files, if Apache's document root
	# concurs with nginx's one
	#
	#location ~ /.ht {
	#	deny all;
	#}	
}

nginx.conf file:

user www-data;
worker_processes 4;
worker_rlimit_nofile 35000; #added by kyler on June 2016
pid /run/nginx.pid;

events {
	worker_connections 8096;
	multi_accept on;
        use epoll;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65; #changed by kyler on April 2nd 2016
        reset_timedout_connection on; #added by kyler on April 2nd 2016
	types_hash_max_size 2048;
	client_max_body_size 100m;
	server_tokens off;
        
        ##
        ## custom additions by Kyler on Dec 2015
        ##
        client_body_timeout 180s; #added by kyler on April 2nd 2016
        client_header_timeout 180s; #added by kyler on April 2nd 2016
        send_timeout 10;        
        client_body_buffer_size 32K; #changed by kyler on April 2nd 2016 from 10K
        client_body_in_single_buffer on; #added by kyler on April 2nd 2016
        client_header_buffer_size 32k; #changed by kyler on April 2nd 2016 from 1K
        large_client_header_buffers 4 32k;
        ## End custom additions by Kyler
        
	server_names_hash_bucket_size 256; #changed by kyler on April 2nd 2016 from 128
	# server_name_in_redirect off;
        
        ##
        ## custom additions by Kyler on Jan 2016
        ##
        fastcgi_read_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_connect_timeout 300;
        fastcgi_buffers 8 16k;
	fastcgi_buffer_size 32k;
        fastcgi_busy_buffers_size 32k;
        fastcgi_temp_file_write_size 256k;
        fastcgi_intercept_errors off;
        ## End custom additions by Kyler
        

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# SSL Settings
	##

	ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
	ssl_prefer_server_ciphers on;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;
        
        ## added by Kyler on Dec 1 2015
        access_log off;

	##
        # Gzip Settings
        ##

	gzip on;
	gzip_disable "msie6";

	gzip_vary on;
	gzip_proxied any;
	gzip_comp_level 6;
	gzip_buffers 16 8k;
	gzip_http_version 1.1;
        gzip_min_length 1000;
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}

BOOYAH!!!

Okay, so for my scenario on a Debian LEMP, the problem had nothing to do with my server. It had everything to do with my WordFence firewall - that’s what’s been causing the save problems. Thanks everyone for offering ideas.

Ah, dang it. You know what? I’m using Sucuri firewall. No wonder my server admin couldn’t tell me anything… it wasn’t actually a server problem!

I know… craziness. But now I can actually dig into using this cool app.