Deploy: Cannot change default "scriptcase" password - endless loop

No Connection could be made because the target machine actively refused it.

Check the firewall on that machine …

[SIZE=1]
P.S.: Please no horror storys, no “what the world is bad” and so on. Report only your problems with SC and we would look at this. Thanks![/SIZE]

The target machine is a Windows 2008 R2 Server with mySQL and IIS7, serving port 3306. I can access it without problem with phpMyadmin and HeidiSQL, as well as with other PHP applications that are installed on my local Vista PC.

In other words: other PHP applications on my local IIS7 Webserver can access the remote database, while the Scriptcase production environment cannot. This is the 2nd strange behavior of Scriptcase on my local IIS7 compared to other PHP apps that are running fine. I’m just repeating this to make the point, that it has apparently nothing to do with my setup.

Just to make sure, I turned off my local Vista firewall, although this cannot be the problem. Other than that, there are no firewalls in between. And as I said, I can access the remote mySQL database with any other application.

Again, what am I doing wrong?

Again, check your firewall on the server … You can set it short (!) to off and can also enable a protocol on your firewall.

For me here is EOT, because I do not see that you are looking for solutions themselves.

Look at your mysql connection setting. Which connection have you setup? PDO, transactional or nontransactional? I would start selecting the latest connection and retry. And yes, please stop pointing at scriptcase. This is not a scriptcase problem but an IIS problem. Have you tried to get into contact with Scriptcase support?

Ok, once again the facts:

  • There is no firewall on my local PC (Vista with IIS7, PHP)
  • There is no firewall on my remote database server (Windows 2008 R2 with mySQL)
  • I am not deploying to my remote server, but my local IIS. The remote server only hosts the mySQL database.
  • I can run all SC applications and access the remote mySQL database in the local SC development environment
  • I can run any other local (PHP, HeidiSQL, phpMyAdmin) application and access the same remote mySQL database
  • I cannot access the remote mySQL database from the local SC production environment

Details: In the production environment, after changing the password, I am redirected to the “new connection” form. There I have 3 choices: MySQL transaction, MySQL, MySQL PDO
I have tried all and am getting “Connection Error: Unable to connect: Connection attempt failed: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.” I cannot edit any mySQL hostname, port, or any other option. So I am assuming that the connection string from the dev environment is used. So why does the dev environment running on the SAME local machine can access the remote database, but the production environment on the SAME local machine can’t?

I am not pointing the finger anywhere - could be anything - but I have never had these problems with any other deployment before.
So once again I am asking if anyone has managed to get this running on a local IIS7 with a database on a remote server.

@ Reinhard: believe me, I am looking at every single possible solution since I started this thread 3 days ago, and you have helped me in getting past the passoword dialog, which was not an IIS issue but a missed configuration on my part. But at the moment I am totally stuck and have no idea what else I could be missing. Please look at the facts. From my point of view, I cannot see how this can be an IIS problem. Maybe I’m wrong, but that’s why I am here.

@ Albert: yes, I have contacted the SC support, pointed them to this thread, but they asked some default question showing me that they didn’t read the thread. So I am not getting very far there, but will try again if everything else fails.

[QUOTE=hkuersten;19811]The remote server only hosts the mySQL database. […]

[…] I cannot see how this can be an IIS problem.[/QUOTE]

I’am not say thats a IIS problem … but a problem with your MySQL configuration on the remote server. Search with google after “No connection could be made because the target machine actively refused it.” and you will find the solution (headwords: my.ini / localhost vs. 127.0.0.1 / lower case table names / etc.).

I have re-read your post …

[QUOTE=hkuersten;19811]
[…] I cannot edit any mySQL hostname, port, or any other option. So I am assuming that the connection string from the dev environment is used.[/QUOTE]

No, dev environment and production environment are not identical. When you can’t edit the MySQL settings in production environment, you have not done all steps (#12 - #17) in my solution link for wordpress / IIS. Clarify that first please.

If your mysql is is not running on your iis server then you have to run your iis as an elevated user. The standard iis user has no rights to go outside the iis dir and also no rights to do networking outside localhost. Of course you can also give the iis user those rights… Check in your services if you are running as Local System, Local Service or Network Service or as a dedicated user.
Alternatively (I am talking about windows 2008 I dont have vista to check that here) go to your iis manager and chack your Handler mappings and test if you set it properly (it should be good if you installed php on iis using administrator rights). Also check te rights for your PHP_via_FastCGI handler.
You get this ‘error the target machine refuses it’ also if some of your rights are insufficient.
The best alternative tho is to ditch iis and grab uniform server since you can finetune your settings better in apache then with iis.
So the first step you do is that you make a small php program by hand and connect with your remote database (for example).

$link = mysql_connect(‘your_my_sql_servername or IP Address’, ‘user’, ‘password’);
if (!$link) {
die('Could not connect: ’ . mysql_error());
}

echo ‘Connected successfully’;

mysql_select_db(‘yourtable_here’,$link) or die (“could not open db”.mysql_error());
// we connect to localhost at port 3306

Only when you get that to connect, then you can proceed further testing with scriptcase.

And yes you can get it to work, I did it too…
O yes do check your php.ini output, it of course needs the mysql dll’s running.

@rr: mysqli_connect, not mysql_connect, because @hkuerten use MySQL transactional.

But he probably has another problem, see my last post.

@ Reinhard:

12 & 13: done before I started this thread

14, 15, 16: done - thanks to your help it got me past the SC production password loop

17: done, see screenshot - no change

the connection dialog in my local SC dev environment. here I have normal access to the remote database

the cmd from #17

when I log into the SC production environment and choose mysql

when I press test connection

Untitled12.jpg

Untitled11.jpg

Untitled10.jpg

Untitled9.jpg

@ RR: I have a PHPMaker deployment running in exactly the same configuration and even using the same IIS AppPool, and it works:

Local IIS7, PHP, Vista -> remote mySQL database, Server 2008 R2.

So IMO it’s not a rights elevation issue. See screenshot:

Untitled13.jpg

Try edit the MySQL configuration with this link: _lib/prod/lib/php/nm_ini_manager2.php. The dialogue must be displayed completely (with server name, port, user name, password, etc.), otherwise it makes no sense …

Been there before…

As I said, they seem to be “correctly configured” in my local dev environment, and I’ve generated the local deployment (same machine, same IIS) several times now.

Another loop…

Untitled14.jpg

  1. have you already re-deployed fully to be sure that you have a correct install
  2. did you have sc on the chat. Don’t send tickets.
  3. if you get into this loop then SC is simply not able to save some stuf, which is due to a misconfiguration of nonexistant paths, rights to create paths or rights to write to directories.

Back to this point: after the cmd have you restart the website in IIS?

@ Albert

  1. Yes
  2. I tried chat and noone answered
  3. My local IIS is open as a barn door. I gave every user and group on my local machine full control to all deployment folders.
  4. After the cmd I restarted my local IIS several times. I can even access the remote DB with phpMyAdmin on the same local IIS, using the same apppool

More:

  • I regenerated the deployment after every change.
  • After the cmd, a new user group popped up, namely that of my IIS apppool. I even gave this user group full control.

So:
[B]* Everyone on my PC has RWX rights on all SC deployment folders

  • Every PHP app running on my local IIS can access the remote mySQL database, except SC
  • Even the local SC development environment can access the remote DB
    [/B]

Untitled15.jpg

Sorry I have to give up.

What setting can I change manually, and in what files in the deployment foldler?

Surely there must be a way to overcome this issue by editing the appropriate file.

Since you can get to your remote mysql from a phpmaker installation I assume that the settings are doen properly. So all that remains is to install xdebug on your iis server (see for example: http://blog.swiftbyte.com/development/setting-up-xdebug-under-microsoft-internet-information-services-iis-7/ ) and use an xdebug client
(see http://xdebug.org/docs/remote). I use XDebugClient for simple work (http://code.google.com/p/xdebugclient/). Install it, allow port 9000 through, restart your iis server etc… You know the drill. Then check a php connect script on your iis script to see if your debugging works. If so then go to your lib dir url path and setup the database connection but do it with the debug client with it. You should be able to find in detail which statement is failing.
Maybe that will show you the cause… At least you should be able to get a very reduced number of statements to test your mysql connection with.

Hello,

Please contact our support team as a trial user: https://www.scriptcase.net/scriptcase-support/

regards,
Bernhard Bernsmann