Moodle

Cannot install moodle 2.0 on IIS+MSSQL

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: 2.0
  • Fix Version/s: 2.0
  • Component/s: Database MS SQL
  • Labels:
    None
  • Environment:
    WEB [host]
      Windows 7
      PHP 5.3.2
    WEB [client]
      Chrome 4.1.249.1064
    DB
      Windows 2003 SE
      SQL 2005 9.0.3080
  • Database:
    Microsoft SQL
  • Difficulty:
    Easy
  • Affected Branches:
    MOODLE_20_STABLE
  • Fixed Branches:
    MOODLE_20_STABLE

Description

1. No option to choose mssql driver even php_dblib installed. I solved this by manualy creating the config.php.
2. It a bit strange but when I created the config file I wrote 'c:\path\to\moodle' in dirrot and got an error (see attached file: dirroot.png)! I solved this by writing uppercase C as suggested.
3. Now when I reached the license screen and hit 'continue' I got an other error (see attached file: db.png). It happend also using mssql_n driver from php_dblib extension and also using native\msslq.
The stranges bit of the error the 140 tables already created on the database!
4. I tried re-run the installation process by closing and re-opening the site and got an other error (see attached file: config.png). To me it seems to be related to the error from the pervious run...

  1. _FILE_.png
    32 kB
    23/May/10 11:20 PM
  2. config.png
    4 kB
    23/May/10 9:29 PM
  3. db.png
    3 kB
    23/May/10 9:29 PM
  4. dirroot.png
    11 kB
    23/May/10 9:29 PM

Activity

Hide
Peter Kornfeld added a comment -

Today I tried to install the latest version (20100523) I got some more errors...

IIS got status 500 with error code 0 on line 408 in config.php.
Setting debug on a got the attached error (FILE.png).
After changing the line to
require_once('/lib/setup.php');
I was able to continue...but the rest didn't changed...

Show
Peter Kornfeld added a comment - Today I tried to install the latest version (20100523) I got some more errors... IIS got status 500 with error code 0 on line 408 in config.php. Setting debug on a got the attached error (FILE.png). After changing the line to require_once('/lib/setup.php'); I was able to continue...but the rest didn't changed...
Hide
Eloy Lafuente (stronk7) added a comment -

Hi Mike, Ashay I'm getting onto this (have added both you as watchers).

Hi Peter thanks for the complete feedback. Some points:

1) I've fixed one typo in config-dist.php causing the FILE error you commented above.
2) Also, I've enabled the "SQL*Server FreTDS (native/mssql)" driver to be available on installation, so I'd suggest you to try it again from scratch.
3) In a few weeks (hopefully) we are going to introduce another driver, Windows native, named "SQL*Server Microsoft (native/sqlsrv)" (Mike, Ashay are working hard on it). It will use the SQL Server driver for PHP (http://www.microsoft.com/sqlserver/2005/en/us/php-driver.aspx) so you won't need anymore the FreeTDS one. Once available it will become the "recommended one" for people running under Windows/IIS and all you'll need is to change on line in your config.php file in order to make the switch. So stay tuned.

Changes for 1) and 2) above are already in CVS so you'll be able to get them from there (now) or in next weekly/preview package.

Resolving this as fixed, ciao

Show
Eloy Lafuente (stronk7) added a comment - Hi Mike, Ashay I'm getting onto this (have added both you as watchers). Hi Peter thanks for the complete feedback. Some points: 1) I've fixed one typo in config-dist.php causing the FILE error you commented above. 2) Also, I've enabled the "SQL*Server FreTDS (native/mssql)" driver to be available on installation, so I'd suggest you to try it again from scratch. 3) In a few weeks (hopefully) we are going to introduce another driver, Windows native, named "SQL*Server Microsoft (native/sqlsrv)" (Mike, Ashay are working hard on it). It will use the SQL Server driver for PHP (http://www.microsoft.com/sqlserver/2005/en/us/php-driver.aspx) so you won't need anymore the FreeTDS one. Once available it will become the "recommended one" for people running under Windows/IIS and all you'll need is to change on line in your config.php file in order to make the switch. So stay tuned. Changes for 1) and 2) above are already in CVS so you'll be able to get them from there (now) or in next weekly/preview package. Resolving this as fixed, ciao
Hide
Peter Kornfeld added a comment -

Thanks for your efforst...

1. The FreeTDS drive shows now on the driver list
2. there is no problem with the FILE variable in the config file

But then, the setup comes to the database creation - and creates 140 tables, and fails with error as seen on db.png.
When restarting the installation I getting the error in confgo.png.

In other words, now I can choose the MSSQL driver - and need not to add it manualy - but nothing changed after that...

Show
Peter Kornfeld added a comment - Thanks for your efforst... 1. The FreeTDS drive shows now on the driver list 2. there is no problem with the FILE variable in the config file But then, the setup comes to the database creation - and creates 140 tables, and fails with error as seen on db.png. When restarting the installation I getting the error in confgo.png. In other words, now I can choose the MSSQL driver - and need not to add it manualy - but nothing changed after that...
Hide
Eloy Lafuente (stronk7) added a comment -

Uhm, Peter

that's really strange. I tried the installation and everything went okey here. I think we should be able to get some more information in order to detect what's happening in your site. Can you, plz, follow these steps.

1) Drop ALL tables from your moodle DB
2) Manually, edit config.php and add these lines:

$CFG->debug = 38911;
$CFG->xmlstrictheaders = false;
$CFG->debugdisplay = true;

3) Re-run then installation, it should begin creating all the tables and so on... let's see where it stops and if now, some more details about the error are displayed in the error page.

Please, copy and paste any details here. Surely that will allow to better know what is causing problems in your server.

TIA and ciao

Show
Eloy Lafuente (stronk7) added a comment - Uhm, Peter that's really strange. I tried the installation and everything went okey here. I think we should be able to get some more information in order to detect what's happening in your site. Can you, plz, follow these steps. 1) Drop ALL tables from your moodle DB 2) Manually, edit config.php and add these lines:
$CFG->debug = 38911;
$CFG->xmlstrictheaders = false;
$CFG->debugdisplay = true;
3) Re-run then installation, it should begin creating all the tables and so on... let's see where it stops and if now, some more details about the error are displayed in the error page. Please, copy and paste any details here. Surely that will allow to better know what is causing problems in your server. TIA and ciao
Hide
Peter Kornfeld added a comment -

Hi,

here it comes...

Installation
System

Warning: error_log(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for '2.0/no DST' instead in C:\Users\peter\Downloads\moodle\moodle2\lib\setuplib.php on line 215
Error reading from database

More information about this error

Debug info: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.
SELECT * FROM mdl_course WHERE category = ?
[array (
0 => 0,
)]
Stack trace:
line 378 of \lib\dml\moodle_database.php: dml_read_exception thrown
line 245 of \lib\dml\mssql_native_moodle_database.php: call to moodle_database->query_end()
line 692 of \lib\dml\mssql_native_moodle_database.php: call to mssql_native_moodle_database->query_end()
line 721 of \lib\dml\mssql_native_moodle_database.php: call to mssql_native_moodle_database->get_recordset_sql()
line 1216 of \lib\dml\moodle_database.php: call to mssql_native_moodle_database->get_records_sql()
line 1188 of \lib\dml\moodle_database.php: call to moodle_database->get_record_sql()
line 1168 of \lib\dml\moodle_database.php: call to moodle_database->get_record_select()
line 404 of \lib\datalib.php: call to moodle_database->get_record()
line 32 of \lib\db\install.php: call to get_site()
line 1189 of \lib\upgradelib.php: call to xmldb_main_install()
line 168 of \admin\index.php: call to install_core()

Hope it helps us!
Regards

Show
Peter Kornfeld added a comment - Hi, here it comes...
Installation System Warning: error_log(): It is not safe to rely on the system's timezone settings. You are required to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Helsinki' for '2.0/no DST' instead in C:\Users\peter\Downloads\moodle\moodle2\lib\setuplib.php on line 215 Error reading from database More information about this error Debug info: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. SELECT * FROM mdl_course WHERE category = ? [array ( 0 => 0, )] Stack trace: line 378 of \lib\dml\moodle_database.php: dml_read_exception thrown line 245 of \lib\dml\mssql_native_moodle_database.php: call to moodle_database->query_end() line 692 of \lib\dml\mssql_native_moodle_database.php: call to mssql_native_moodle_database->query_end() line 721 of \lib\dml\mssql_native_moodle_database.php: call to mssql_native_moodle_database->get_recordset_sql() line 1216 of \lib\dml\moodle_database.php: call to mssql_native_moodle_database->get_records_sql() line 1188 of \lib\dml\moodle_database.php: call to moodle_database->get_record_sql() line 1168 of \lib\dml\moodle_database.php: call to moodle_database->get_record_select() line 404 of \lib\datalib.php: call to moodle_database->get_record() line 32 of \lib\db\install.php: call to get_site() line 1189 of \lib\upgradelib.php: call to xmldb_main_install() line 168 of \admin\index.php: call to install_core()
Hope it helps us! Regards
Hide
Eloy Lafuente (stronk7) added a comment -

Hi Peter,

thanks for the complete info. Comments:

1) About the error_log() problem, it seems that you are using PHP 5.3.x. Under that version you need to specify the default timezone your server is running in the config.php file (see config-dist.php file for more info).

2) That error (Unicode data in a Unicode-only collation or ntext ...) uses to happen when the server isn't running the correct FreeTDS driver and/or it hasn't been properly configured. Can you take a look to your phpinfo() page to see if the FreeTDS driver is installed? Should be shown under the "mssql" section in that page. I'd recommend you to take a look to this page in order to get FreeTDS working ok:

http://docs.moodle.org/en/Installing_MSSQL_for_PHP

Ciao

Show
Eloy Lafuente (stronk7) added a comment - Hi Peter, thanks for the complete info. Comments: 1) About the error_log() problem, it seems that you are using PHP 5.3.x. Under that version you need to specify the default timezone your server is running in the config.php file (see config-dist.php file for more info). 2) That error (Unicode data in a Unicode-only collation or ntext ...) uses to happen when the server isn't running the correct FreeTDS driver and/or it hasn't been properly configured. Can you take a look to your phpinfo() page to see if the FreeTDS driver is installed? Should be shown under the "mssql" section in that page. I'd recommend you to take a look to this page in order to get FreeTDS working ok: http://docs.moodle.org/en/Installing_MSSQL_for_PHP Ciao
Hide
Peter Kornfeld added a comment -

Hi,

1. I know about that timezone thing, I just was too lazy to fix it for my test environment.

2. I re-downloaded the FreeTDS and on second run - without deleting tables I got this error...

Config table does not contain version, can not continue, sorry.

More information about this error

Stack trace:
line 310 of \lib\setuplib.php: moodle_exception thrown
line 179 of \admin\index.php: call to print_error()

(when deleting the tables I'm back to the previous error...)

Regards.

Show
Peter Kornfeld added a comment - Hi, 1. I know about that timezone thing, I just was too lazy to fix it for my test environment. 2. I re-downloaded the FreeTDS and on second run - without deleting tables I got this error...
Config table does not contain version, can not continue, sorry. More information about this error Stack trace: line 310 of \lib\setuplib.php: moodle_exception thrown line 179 of \admin\index.php: call to print_error()
(when deleting the tables I'm back to the previous error...) Regards.
Hide
Eloy Lafuente (stronk7) added a comment -

Ho Petr,

can you create one simple scrip in your root folder: info.php and put there these lines:

<?php
    phpinfo();
?>

and execute it from your browser? Then look to the information in the "mssql" section? I really think the problem is that you haven't the freetds driver installed, and you are using the old one (bundled by default with php).

Ciao

Show
Eloy Lafuente (stronk7) added a comment - Ho Petr, can you create one simple scrip in your root folder: info.php and put there these lines:
<?php
    phpinfo();
?>
and execute it from your browser? Then look to the information in the "mssql" section? I really think the problem is that you haven't the freetds driver installed, and you are using the old one (bundled by default with php). Ciao
Hide
Peter Kornfeld added a comment -

Hi,

Here the info...

mssql

MSSQL Support enabled
Active Persistent Links 0
Active Links 0
Library version FreeTDS

Directive Local Value Master Value
mssql.allow_persistent On On
mssql.batchsize 0 0
mssql.charset no value no value
mssql.compatability_mode Off Off
mssql.connect_timeout 5 5
mssql.datetimeconvert On On
mssql.max_links Unlimited Unlimited
mssql.max_persistent Unlimited Unlimited
mssql.max_procs Unlimited Unlimited
mssql.min_error_severity 10 10
mssql.min_message_severity 10 10
mssql.secure_connection Off Off
mssql.textlimit Server default Server default
mssql.textsize Server default Server default
mssql.timeout 60 60

You keep saying the FreeTDS does not installed and I'm wondering what dou you mean...
What I have done is put php_dblib.dll in the extension directory, register it inside php.ini and edit the fretds.conf file...

My php_dblib.dll has version 5.3.0 and the config gile looks like this:

[global]
host = [server ip]
port = 1433
client charset = UTF-8
tds version = 8.0
text size = 20971520

Regards.

Show
Peter Kornfeld added a comment - Hi, Here the info...
mssql MSSQL Support enabled Active Persistent Links 0 Active Links 0 Library version FreeTDS Directive Local Value Master Value mssql.allow_persistent On On mssql.batchsize 0 0 mssql.charset no value no value mssql.compatability_mode Off Off mssql.connect_timeout 5 5 mssql.datetimeconvert On On mssql.max_links Unlimited Unlimited mssql.max_persistent Unlimited Unlimited mssql.max_procs Unlimited Unlimited mssql.min_error_severity 10 10 mssql.min_message_severity 10 10 mssql.secure_connection Off Off mssql.textlimit Server default Server default mssql.textsize Server default Server default mssql.timeout 60 60
You keep saying the FreeTDS does not installed and I'm wondering what dou you mean... What I have done is put php_dblib.dll in the extension directory, register it inside php.ini and edit the fretds.conf file... My php_dblib.dll has version 5.3.0 and the config gile looks like this:
[global] host = [server ip] port = 1433 client charset = UTF-8 tds version = 8.0 text size = 20971520
Regards.
Hide
Eloy Lafuente (stronk7) added a comment -

Uhm... so you have the correct freetds driver running, great (that was the point I wanted to confirm).

Now... you config.php file. Can you plz post here how does it look like (suppressing privacy info, of course).

Ciao

Show
Eloy Lafuente (stronk7) added a comment - Uhm... so you have the correct freetds driver running, great (that was the point I wanted to confirm). Now... you config.php file. Can you plz post here how does it look like (suppressing privacy info, of course). Ciao
Hide
Peter Kornfeld added a comment -

Here it is...

<?php // Moodle configuration file

unset($CFG);
$CFG = new stdClass();

$CFG->debug = 38911;
$CFG->xmlstrictheaders = false;
$CFG->debugdisplay = true;

$CFG->dbtype = 'mssql';
$CFG->dblibrary = 'native';
$CFG->dbhost = '...';
$CFG->dbname = 'moodle2';
$CFG->dbuser = '...';
$CFG->dbpass = '...';
$CFG->prefix = 'mdl_';
$CFG->dboptions = array (
'dbpersist' => 0,
'dbsocket' => 0,
);

$CFG->wwwroot = 'http://localhost/moodle2';
$CFG->dataroot = 'C:\\Users\\peter\\Downloads
moodledata';
$CFG->admin = 'admin';

$CFG->directorypermissions = 0777;

$CFG->passwordsaltmain = 'z}p^VVg&oKN}S6gmdjKs:!DH]';

require_once(dirname(_FILE_) . '/lib/setup.php');

// There is no php closing tag in this file,
// it is intentional because it prevents trailing whitespace problems!

I also tried

$CFG->dbtype = 'mssql_n';
//$CFG->dblibrary = 'native';

I gives me the same error...

Regards.

Show
Peter Kornfeld added a comment - Here it is...
<?php // Moodle configuration file unset($CFG); $CFG = new stdClass(); $CFG->debug = 38911; $CFG->xmlstrictheaders = false; $CFG->debugdisplay = true; $CFG->dbtype = 'mssql'; $CFG->dblibrary = 'native'; $CFG->dbhost = '...'; $CFG->dbname = 'moodle2'; $CFG->dbuser = '...'; $CFG->dbpass = '...'; $CFG->prefix = 'mdl_'; $CFG->dboptions = array ( 'dbpersist' => 0, 'dbsocket' => 0, ); $CFG->wwwroot = 'http://localhost/moodle2'; $CFG->dataroot = 'C:\\Users\\peter\\Downloads
moodledata'; $CFG->admin = 'admin'; $CFG->directorypermissions = 0777; $CFG->passwordsaltmain = 'z}p^VVg&oKN}S6gmdjKs:!DH]'; require_once(dirname(_FILE_) . '/lib/setup.php'); // There is no php closing tag in this file, // it is intentional because it prevents trailing whitespace problems!
I also tried
$CFG->dbtype = 'mssql_n'; //$CFG->dblibrary = 'native';
I gives me the same error... Regards.
Hide
Eloy Lafuente (stronk7) added a comment -

Wow, everything seems to be in place and properly configured.

I really cannot imagine why this is happening in your server, grrr.

Two more things to check:

1) can you confirm that you have disabled any instance of the old mssql driver? Edit your php.ini file and look for php_mssql.dll. Is it commented?

2) while I'm not an specialist in IIS at all, it sounds to me that there are various ways to get php working on it (fastcgi...) each one requiring different TS (thread safe) / NON-TS builds. How is your ISS configured?

3) If you can, plz, take a look to MDL-14725 . It's the original bug where the drivers were created. Perhaps you can find something there helping you (I've re-read it but haven't found anything).

4) Last resort. Can you try using one PHP 5.2.x version instead (and corresponding freetds drivers?). Just to see if the problem persists or no (I think 5.2.x versions are more "tested" under different environments than the 5.3 ones).

Ciao

Show
Eloy Lafuente (stronk7) added a comment - Wow, everything seems to be in place and properly configured. I really cannot imagine why this is happening in your server, grrr. Two more things to check: 1) can you confirm that you have disabled any instance of the old mssql driver? Edit your php.ini file and look for php_mssql.dll. Is it commented? 2) while I'm not an specialist in IIS at all, it sounds to me that there are various ways to get php working on it (fastcgi...) each one requiring different TS (thread safe) / NON-TS builds. How is your ISS configured? 3) If you can, plz, take a look to MDL-14725 . It's the original bug where the drivers were created. Perhaps you can find something there helping you (I've re-read it but haven't found anything). 4) Last resort. Can you try using one PHP 5.2.x version instead (and corresponding freetds drivers?). Just to see if the problem persists or no (I think 5.2.x versions are more "tested" under different environments than the 5.3 ones). Ciao
Hide
Peter Kornfeld added a comment -

Hi,

I'm sorry to make you grrr...

However I have some progress...so with your permission I put aside your response for today (I will answer it later) and I will tell my story of the day...

First I googled the web to the death and found these

Solution for the following Error:

Warning: mssql_query() [function.mssql-query]: message: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

This is because you are using column types of like ntext instead of text. There are 2 solutions.

1. Change all ntext column types to text or
2. Your query must look like: SELECT CAST(field1 AS TEXT) AS field1 FROM table

Troubleshooting
If you encounter some problems you can try:
check that you have DotNet framework 1.1 installed (later version are installed on Vista, but you could need this specific one)
enable TCP/IP for MSSQL: SQL Server 2005 Network Configuration -> Protocols for MSSQLSERVER -> TCP/IP (Enable) -> Properties -> Ip Addresses -> 127.0.0.1 (Active+Enable)
if you are using SQL Server 2005 and you have the error 4004: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier, try the ODBTP method (next chapter). The SQL Server complaining that it doesn't support pure Unicode via TDS or older versions of ODBC. Microsoft has deprecated DB-Library a long ago, in favor of ODBC, OLE DB, or SQL Native Client. Many new features of SQL 2005 aren't accessible via DB-Library so if you need them, you could have to switch away from tools based on TDS and DB-Library

For the simplicity I tried the first solution and changed in mssql_sql_generator.php the NTEXT type to TEXT (and also NVARCHAR to VARCHAR, just in case).

And you know what, the installation went on...
...not perfect but was able to add all the content to the tables and then come to the code file theme\javacript.php and got a client-side error

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E)
Timestamp: Tue, 1 Jun 2010 15:17:15 UTC

Message: Expected ';'
Line: 1
Char: 6
Code: 0
URI: http://localhost/moodle2/theme/javascript.php?theme=standard&rev=-1&type=head

Message: Expected ';'
Line: 1
Char: 6
Code: 0
URI: http://localhost/moodle2/theme/javascript.php?theme=standard&rev=-1&type=footer

Not yet investigated the error...

For me it seems to be a problem with the FreeTDS driver...what do you say?!

Regards.

(for more: I have a active moodle 1.9 installment workinf with pervious FreeTDS on the same SQL server USING NTEXT WITH NO PROBLEM!!!)

Show
Peter Kornfeld added a comment - Hi, I'm sorry to make you grrr... However I have some progress...so with your permission I put aside your response for today (I will answer it later) and I will tell my story of the day... First I googled the web to the death and found these
Solution for the following Error: Warning: mssql_query() [function.mssql-query]: message: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. This is because you are using column types of like ntext instead of text. There are 2 solutions. 1. Change all ntext column types to text or 2. Your query must look like: SELECT CAST(field1 AS TEXT) AS field1 FROM table
Troubleshooting If you encounter some problems you can try: check that you have DotNet framework 1.1 installed (later version are installed on Vista, but you could need this specific one) enable TCP/IP for MSSQL: SQL Server 2005 Network Configuration -> Protocols for MSSQLSERVER -> TCP/IP (Enable) -> Properties -> Ip Addresses -> 127.0.0.1 (Active+Enable) if you are using SQL Server 2005 and you have the error 4004: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier, try the ODBTP method (next chapter). The SQL Server complaining that it doesn't support pure Unicode via TDS or older versions of ODBC. Microsoft has deprecated DB-Library a long ago, in favor of ODBC, OLE DB, or SQL Native Client. Many new features of SQL 2005 aren't accessible via DB-Library so if you need them, you could have to switch away from tools based on TDS and DB-Library
For the simplicity I tried the first solution and changed in mssql_sql_generator.php the NTEXT type to TEXT (and also NVARCHAR to VARCHAR, just in case). And you know what, the installation went on... ...not perfect but was able to add all the content to the tables and then come to the code file theme\javacript.php and got a client-side error
Webpage error details User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E) Timestamp: Tue, 1 Jun 2010 15:17:15 UTC Message: Expected ';' Line: 1 Char: 6 Code: 0 URI: http://localhost/moodle2/theme/javascript.php?theme=standard&rev=-1&type=head Message: Expected ';' Line: 1 Char: 6 Code: 0 URI: http://localhost/moodle2/theme/javascript.php?theme=standard&rev=-1&type=footer
Not yet investigated the error... For me it seems to be a problem with the FreeTDS driver...what do you say?! Regards. (for more: I have a active moodle 1.9 installment workinf with pervious FreeTDS on the same SQL server USING NTEXT WITH NO PROBLEM!!!)
Hide
Eloy Lafuente (stronk7) added a comment - - edited

Hi Peter,

first of all "grrr-ing" is my way when I cannot understand something, hehe (excuse me).

Some comments about your progress:

1) That message (and the error "Unicode data in a Unicode-only collation...") is one php_mssql error (old driver) and it was one of the original causes to start looking for alternatives (FreeTDS, ODBTP...) that simply "mimic" the old php_mssql API but use other connections methods (TDS, Native Driver..) instead of the old (DBLIB) that doesn't support Unicode at all (and is really deprecated since years ago). So I'd say that all the solutions in that page not talking about FreeTDS should be ignored because all they do is to "mix" errors and drivers. In this case, those castings aren't the solution at all. As commented the FreeTDS driver is.

2) About the page in Moodle Docs, I really don't know how the hell that ended there as far as it is highly inaccurate. It is true that DBLIB is deprecated, and old ODBC versions too. But if I'm not wrong, not much time ago, MS (finally) released the TDS specifications (they used to be not public), so I guess TDS is a valid connection protocol.

3) About the change from N-TEXT to TEXT (and N-VARCHAR to VARCHAR). Really one 100% "latin" site could be using the non-N variants but things would become wrong is you try to store/read contents in other non-latin languages. The only way to support Unicode are those N fields, that's the cause Moodle uses them. So no point about that change.

4) About your other site (1.9) working ok. Can you try to install 2.0 there (another dir / db schema) but using exactly that IIS+PHP ? I'm sure it should be some error related with PHP 5.3 or similar (as commented in my last message). I mean, FreeTDS works ok. Also, when you have time... if you can take a look to my 1-4 points in my previous message...it would be great!

We must find the cause for your problems, sure it's some combination causing the whole thing to work incorrectly. Grrr! :-P

Ciao

Show
Eloy Lafuente (stronk7) added a comment - - edited Hi Peter, first of all "grrr-ing" is my way when I cannot understand something, hehe (excuse me). Some comments about your progress: 1) That message (and the error "Unicode data in a Unicode-only collation...") is one php_mssql error (old driver) and it was one of the original causes to start looking for alternatives (FreeTDS, ODBTP...) that simply "mimic" the old php_mssql API but use other connections methods (TDS, Native Driver..) instead of the old (DBLIB) that doesn't support Unicode at all (and is really deprecated since years ago). So I'd say that all the solutions in that page not talking about FreeTDS should be ignored because all they do is to "mix" errors and drivers. In this case, those castings aren't the solution at all. As commented the FreeTDS driver is. 2) About the page in Moodle Docs, I really don't know how the hell that ended there as far as it is highly inaccurate. It is true that DBLIB is deprecated, and old ODBC versions too. But if I'm not wrong, not much time ago, MS (finally) released the TDS specifications (they used to be not public), so I guess TDS is a valid connection protocol. 3) About the change from N-TEXT to TEXT (and N-VARCHAR to VARCHAR). Really one 100% "latin" site could be using the non-N variants but things would become wrong is you try to store/read contents in other non-latin languages. The only way to support Unicode are those N fields, that's the cause Moodle uses them. So no point about that change. 4) About your other site (1.9) working ok. Can you try to install 2.0 there (another dir / db schema) but using exactly that IIS+PHP ? I'm sure it should be some error related with PHP 5.3 or similar (as commented in my last message). I mean, FreeTDS works ok. Also, when you have time... if you can take a look to my 1-4 points in my previous message...it would be great! We must find the cause for your problems, sure it's some combination causing the whole thing to work incorrectly. Grrr! :-P Ciao
Hide
Peter Kornfeld added a comment -

Hi,

I think this is my turn to grrr all around the place...

But! We got it!!!

It is all about the where the freetds.conf placed! On my working installation it sits on the disk root (e:\freetds.conf), but now I put in on the path pointed by the FREETDS environment variable! After 200 different combination of PHP/FreeTDS/moodle I figured out that FreeTDS thinks that it works with protocol 4.2!!! and that because it does not find the config file!!!

I'm not sure if it is a OS problem or FreeTDS does not read the environment variable as expected, but do not care...

Happy grrr!!!

Show
Peter Kornfeld added a comment - Hi, I think this is my turn to grrr all around the place... But! We got it!!! It is all about the where the freetds.conf placed! On my working installation it sits on the disk root (e:\freetds.conf), but now I put in on the path pointed by the FREETDS environment variable! After 200 different combination of PHP/FreeTDS/moodle I figured out that FreeTDS thinks that it works with protocol 4.2!!! and that because it does not find the config file!!! I'm not sure if it is a OS problem or FreeTDS does not read the environment variable as expected, but do not care... Happy grrr!!!
Hide
Peter Kornfeld added a comment -

(I think it must be on the moodle-mssql install page http://docs.moodle.org/en/Installing_MSSQL_for_PHP, because anyone going to freetds user quide will find there the FREETDS environment variable - wich enables a much clearer installation - and my fall there!)

Show
Peter Kornfeld added a comment - (I think it must be on the moodle-mssql install page http://docs.moodle.org/en/Installing_MSSQL_for_PHP, because anyone going to freetds user quide will find there the FREETDS environment variable - wich enables a much clearer installation - and my fall there!)
Hide
Peter Kornfeld added a comment -

(in fact I saw I can edit it - so I did)

Show
Peter Kornfeld added a comment - (in fact I saw I can edit it - so I did)
Hide
Luis de Vasconcelos added a comment -

Peter,

I was intrigued by your comment that the FREETDS environment variable does not work, so I've tested it on my dev box and I can confirm that it DOES work when you use PHP version 5.2.x, the "official" moodle.org version of FreeTDS (that you get from the Installing MSSQL_for_PHP page in MoodleDocs) and Moodle 2.0 Preview 2.

To prove that it does work I did the following:

1. I created the FREETDS environment variable on my Windows 2003 dev box.
2. I pointed that FREETDS environment variable to my PHP folder, D:\PHP5.
3. I MOVED my freetds.conf file from C:\ into D:\PHP5.
4. I restarted IIS.

I then accessed my Moodle 2.0 Preview 2 test site and everything worked like normal. Note that there are NO other pointers to the location of freetds.conf on my computer so the only way that PHP can

Then, to take it a bit further, I then REMOVED the freetds.conf file from the server so that there is no freetds.conf file on the server and no way for PHP to load the required FreeTDS settings (and thus it loads the defaults). After restarting IIS I reopened my Moodle 2.0 Preview 2 test site and I got the following errors in Moodle:

Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

SELECT * FROM mdl_course WHERE category = '0'
line 686 of lib\dmllib.php: call to debugging()
line 481 of lib\dmllib.php: call to get_recordset_sql()
line 421 of lib\dmllib.php: call to get_record_sql()
line 377 of lib\datalib.php: call to get_record()
line 3788 of lib\weblib.php: call to get_site()
line 123 of lib\adminlib.php: call to build_navigation()
line 2918 of mod\assignment\lib.php: call to upgrade_plugins()
line 431 of lib\adminlib.php: call to assignment_upgrade_submodules()
line 433 of admin\index.php: call to upgrade_activity_modules()
Setting up plugin tables You are hereSetting up plugin tables No warnings - Scroll to the continue button

mod/assignment/type/online plugin needs upgrading
Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

SELECT * FROM mdl_events_handlers WHERE handlermodule = 'assignment_type/online'
line 686 of lib\dmllib.php: call to debugging()
line 609 of lib\dmllib.php: call to get_recordset_sql()
line 577 of lib\dmllib.php: call to get_recordset_select()
line 910 of lib\dmllib.php: call to get_recordset()
line 78 of lib\eventslib.php: call to get_records()
line 110 of lib\eventslib.php: call to events_get_cached()
line 155 of lib\adminlib.php: call to events_update_definition()
line 2918 of mod\assignment\lib.php: call to upgrade_plugins()
line 431 of lib\adminlib.php: call to assignment_upgrade_submodules()
line 433 of admin\index.php: call to upgrade_activity_modules()
online tables have been set up correctly

Moodle threw these errors because PHP loaded the FreeTDS extension with the FreeTDS default settings (i.e. the defaults that were specified when php_dblib.php was compiled). These default settings were used because PHP did not load the FreeTDS extension with the required settings, e.g. tds version = 8.0.

Then, to prove that the FREETDS environment variable does work, I put the freetds.conf file back into D:\PHP5 and made sure that the FREETDS environment variable was still pointing to D:\PHP5. After restarting IIS I opened my Moodle 2.0 Preview 2 test site again and everything worked properly. I did not get any of the error messages that were thrown when there was no freetds.conf file in D:\PHP5.
I tested the site again and everything seems to be ok.

To me this confirms that the FREETDS environment variable does work with the PHP 5.2 version of FreeTDS that's available on the MSSQL_for_PHP page in MoodleDocs.

I haven't been able to test this against version 5.3.0 of php_dblib.dll and PHP 5.3 as I don't have a PHP 5.3 box to play with at the moment.
Can you try it again on your server (taking all the above into consideration) to help us determine if it is a PHP 5.3 issue? Thanks.

Also, when you created the environment variable on your server did you create a System variable or a User variable? It needs to be a System variable. And you must restart the web server after creating the variable so that PHP is refreshed and thus detects and applies the changes (i.e. it uses the freetds.conf file located in the path specified in the FREETDS environment variable).

So, for now I'm going to remove the comment that you added to the Installing_MSSQL_for_PHP page about the FREETDS environment variable not working. As you have seen it does work in PHP 5.2. If we can prove that it does not work on PHP 5.3 then we can add a note specifically for PHP 5.3.

Show
Luis de Vasconcelos added a comment - Peter, I was intrigued by your comment that the FREETDS environment variable does not work, so I've tested it on my dev box and I can confirm that it DOES work when you use PHP version 5.2.x, the "official" moodle.org version of FreeTDS (that you get from the Installing MSSQL_for_PHP page in MoodleDocs) and Moodle 2.0 Preview 2. To prove that it does work I did the following: 1. I created the FREETDS environment variable on my Windows 2003 dev box. 2. I pointed that FREETDS environment variable to my PHP folder, D:\PHP5. 3. I MOVED my freetds.conf file from C:\ into D:\PHP5. 4. I restarted IIS. I then accessed my Moodle 2.0 Preview 2 test site and everything worked like normal. Note that there are NO other pointers to the location of freetds.conf on my computer so the only way that PHP can Then, to take it a bit further, I then REMOVED the freetds.conf file from the server so that there is no freetds.conf file on the server and no way for PHP to load the required FreeTDS settings (and thus it loads the defaults). After restarting IIS I reopened my Moodle 2.0 Preview 2 test site and I got the following errors in Moodle: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. SELECT * FROM mdl_course WHERE category = '0' line 686 of lib\dmllib.php: call to debugging() line 481 of lib\dmllib.php: call to get_recordset_sql() line 421 of lib\dmllib.php: call to get_record_sql() line 377 of lib\datalib.php: call to get_record() line 3788 of lib\weblib.php: call to get_site() line 123 of lib\adminlib.php: call to build_navigation() line 2918 of mod\assignment\lib.php: call to upgrade_plugins() line 431 of lib\adminlib.php: call to assignment_upgrade_submodules() line 433 of admin\index.php: call to upgrade_activity_modules() Setting up plugin tables You are hereSetting up plugin tables No warnings - Scroll to the continue button mod/assignment/type/online plugin needs upgrading Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. SELECT * FROM mdl_events_handlers WHERE handlermodule = 'assignment_type/online' line 686 of lib\dmllib.php: call to debugging() line 609 of lib\dmllib.php: call to get_recordset_sql() line 577 of lib\dmllib.php: call to get_recordset_select() line 910 of lib\dmllib.php: call to get_recordset() line 78 of lib\eventslib.php: call to get_records() line 110 of lib\eventslib.php: call to events_get_cached() line 155 of lib\adminlib.php: call to events_update_definition() line 2918 of mod\assignment\lib.php: call to upgrade_plugins() line 431 of lib\adminlib.php: call to assignment_upgrade_submodules() line 433 of admin\index.php: call to upgrade_activity_modules() online tables have been set up correctly Moodle threw these errors because PHP loaded the FreeTDS extension with the FreeTDS default settings (i.e. the defaults that were specified when php_dblib.php was compiled). These default settings were used because PHP did not load the FreeTDS extension with the required settings, e.g. tds version = 8.0. Then, to prove that the FREETDS environment variable does work, I put the freetds.conf file back into D:\PHP5 and made sure that the FREETDS environment variable was still pointing to D:\PHP5. After restarting IIS I opened my Moodle 2.0 Preview 2 test site again and everything worked properly. I did not get any of the error messages that were thrown when there was no freetds.conf file in D:\PHP5. I tested the site again and everything seems to be ok. To me this confirms that the FREETDS environment variable does work with the PHP 5.2 version of FreeTDS that's available on the MSSQL_for_PHP page in MoodleDocs. I haven't been able to test this against version 5.3.0 of php_dblib.dll and PHP 5.3 as I don't have a PHP 5.3 box to play with at the moment. Can you try it again on your server (taking all the above into consideration) to help us determine if it is a PHP 5.3 issue? Thanks. Also, when you created the environment variable on your server did you create a System variable or a User variable? It needs to be a System variable. And you must restart the web server after creating the variable so that PHP is refreshed and thus detects and applies the changes (i.e. it uses the freetds.conf file located in the path specified in the FREETDS environment variable). So, for now I'm going to remove the comment that you added to the Installing_MSSQL_for_PHP page about the FREETDS environment variable not working. As you have seen it does work in PHP 5.2. If we can prove that it does not work on PHP 5.3 then we can add a note specifically for PHP 5.3.
Hide
Luis de Vasconcelos added a comment -

Peter,

I was intrigued by your comment that the FREETDS environment variable does not work, so I've tested it on my dev box and I can confirm that it DOES work when you use PHP version 5.2.x, the "official" moodle.org version of FreeTDS (that you get from the Installing MSSQL_for_PHP page in MoodleDocs) and Moodle 2.0 Preview 2.

To prove that it does work I did the following:

1. I created the FREETDS environment variable on my Windows 2003 dev box.
2. I pointed that FREETDS environment variable to my PHP folder, D:\PHP5.
3. I MOVED my freetds.conf file from C:\ into D:\PHP5.
4. I restarted IIS.

I then accessed my Moodle 2.0 Preview 2 test site and everything worked like normal. Moodle did not throw any errors. Note that there are NO other pointers to the location of freetds.conf on my computer so this shows that PHP was indeed able to read the freetds.conf pointed to in the environment variable that I created.

Then, to take it a bit further, I then REMOVED the freetds.conf file from the server so that there is no freetds.conf file on the server and no way for PHP to load the required FreeTDS settings (and thus it loads the defaults). After restarting IIS I reopened my Moodle 2.0 Preview 2 test site and I got the following errors in Moodle:

Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

SELECT * FROM mdl_course WHERE category = '0'
line 686 of lib\dmllib.php: call to debugging()
line 481 of lib\dmllib.php: call to get_recordset_sql()
line 421 of lib\dmllib.php: call to get_record_sql()
line 377 of lib\datalib.php: call to get_record()
line 3788 of lib\weblib.php: call to get_site()
line 123 of lib\adminlib.php: call to build_navigation()
line 2918 of mod\assignment\lib.php: call to upgrade_plugins()
line 431 of lib\adminlib.php: call to assignment_upgrade_submodules()
line 433 of admin\index.php: call to upgrade_activity_modules()
Setting up plugin tables You are hereSetting up plugin tables No warnings - Scroll to the continue button

mod/assignment/type/online plugin needs upgrading
Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier.

SELECT * FROM mdl_events_handlers WHERE handlermodule = 'assignment_type/online'
line 686 of lib\dmllib.php: call to debugging()
line 609 of lib\dmllib.php: call to get_recordset_sql()
line 577 of lib\dmllib.php: call to get_recordset_select()
line 910 of lib\dmllib.php: call to get_recordset()
line 78 of lib\eventslib.php: call to get_records()
line 110 of lib\eventslib.php: call to events_get_cached()
line 155 of lib\adminlib.php: call to events_update_definition()
line 2918 of mod\assignment\lib.php: call to upgrade_plugins()
line 431 of lib\adminlib.php: call to assignment_upgrade_submodules()
line 433 of admin\index.php: call to upgrade_activity_modules()
online tables have been set up correctly

Moodle threw these errors because PHP loaded the FreeTDS extension with the FreeTDS default settings (i.e. the defaults that were specified when php_dblib.php was compiled). These default settings were used because PHP did not load the FreeTDS extension with the required settings, e.g. tds version = 8.0.

Then, to prove that the FREETDS environment variable does work, I put the freetds.conf file back into D:\PHP5 and made sure that the FREETDS environment variable was still pointing to D:\PHP5. After restarting IIS I opened my Moodle 2.0 Preview 2 test site again and everything worked properly. I did not get any of the error messages that were thrown when there was no freetds.conf file in D:\PHP5.
I tested the site again and everything seems to be ok.

To me this confirms that the FREETDS environment variable does work with the PHP 5.2 version of FreeTDS that's available on the MSSQL_for_PHP page in MoodleDocs.

I haven't been able to test this against version 5.3.0 of php_dblib.dll and PHP 5.3 as I don't have a PHP 5.3 box to play with at the moment.
Can you try it again on your server (taking all the above into consideration) to help us determine if it is a PHP 5.3 issue? Thanks.

Also, when you created the environment variable on your server did you create a System variable or a User variable? It needs to be a System variable. And you must restart the web server after creating the variable so that PHP is refreshed and thus detects and applies the changes (i.e. it uses the freetds.conf file located in the path specified in the FREETDS environment variable).

So, for now I'm going to remove the comment that you added to the Installing_MSSQL_for_PHP page about the FREETDS environment variable not working. As you have seen it does work in PHP 5.2. If we can prove that it does not work on PHP 5.3 then we can add a note specifically for PHP 5.3.

Show
Luis de Vasconcelos added a comment - Peter, I was intrigued by your comment that the FREETDS environment variable does not work, so I've tested it on my dev box and I can confirm that it DOES work when you use PHP version 5.2.x, the "official" moodle.org version of FreeTDS (that you get from the Installing MSSQL_for_PHP page in MoodleDocs) and Moodle 2.0 Preview 2. To prove that it does work I did the following: 1. I created the FREETDS environment variable on my Windows 2003 dev box. 2. I pointed that FREETDS environment variable to my PHP folder, D:\PHP5. 3. I MOVED my freetds.conf file from C:\ into D:\PHP5. 4. I restarted IIS. I then accessed my Moodle 2.0 Preview 2 test site and everything worked like normal. Moodle did not throw any errors. Note that there are NO other pointers to the location of freetds.conf on my computer so this shows that PHP was indeed able to read the freetds.conf pointed to in the environment variable that I created. Then, to take it a bit further, I then REMOVED the freetds.conf file from the server so that there is no freetds.conf file on the server and no way for PHP to load the required FreeTDS settings (and thus it loads the defaults). After restarting IIS I reopened my Moodle 2.0 Preview 2 test site and I got the following errors in Moodle: Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. SELECT * FROM mdl_course WHERE category = '0' line 686 of lib\dmllib.php: call to debugging() line 481 of lib\dmllib.php: call to get_recordset_sql() line 421 of lib\dmllib.php: call to get_record_sql() line 377 of lib\datalib.php: call to get_record() line 3788 of lib\weblib.php: call to get_site() line 123 of lib\adminlib.php: call to build_navigation() line 2918 of mod\assignment\lib.php: call to upgrade_plugins() line 431 of lib\adminlib.php: call to assignment_upgrade_submodules() line 433 of admin\index.php: call to upgrade_activity_modules() Setting up plugin tables You are hereSetting up plugin tables No warnings - Scroll to the continue button mod/assignment/type/online plugin needs upgrading Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library (such as ISQL) or ODBC version 3.7 or earlier. SELECT * FROM mdl_events_handlers WHERE handlermodule = 'assignment_type/online' line 686 of lib\dmllib.php: call to debugging() line 609 of lib\dmllib.php: call to get_recordset_sql() line 577 of lib\dmllib.php: call to get_recordset_select() line 910 of lib\dmllib.php: call to get_recordset() line 78 of lib\eventslib.php: call to get_records() line 110 of lib\eventslib.php: call to events_get_cached() line 155 of lib\adminlib.php: call to events_update_definition() line 2918 of mod\assignment\lib.php: call to upgrade_plugins() line 431 of lib\adminlib.php: call to assignment_upgrade_submodules() line 433 of admin\index.php: call to upgrade_activity_modules() online tables have been set up correctly Moodle threw these errors because PHP loaded the FreeTDS extension with the FreeTDS default settings (i.e. the defaults that were specified when php_dblib.php was compiled). These default settings were used because PHP did not load the FreeTDS extension with the required settings, e.g. tds version = 8.0. Then, to prove that the FREETDS environment variable does work, I put the freetds.conf file back into D:\PHP5 and made sure that the FREETDS environment variable was still pointing to D:\PHP5. After restarting IIS I opened my Moodle 2.0 Preview 2 test site again and everything worked properly. I did not get any of the error messages that were thrown when there was no freetds.conf file in D:\PHP5. I tested the site again and everything seems to be ok. To me this confirms that the FREETDS environment variable does work with the PHP 5.2 version of FreeTDS that's available on the MSSQL_for_PHP page in MoodleDocs. I haven't been able to test this against version 5.3.0 of php_dblib.dll and PHP 5.3 as I don't have a PHP 5.3 box to play with at the moment. Can you try it again on your server (taking all the above into consideration) to help us determine if it is a PHP 5.3 issue? Thanks. Also, when you created the environment variable on your server did you create a System variable or a User variable? It needs to be a System variable. And you must restart the web server after creating the variable so that PHP is refreshed and thus detects and applies the changes (i.e. it uses the freetds.conf file located in the path specified in the FREETDS environment variable). So, for now I'm going to remove the comment that you added to the Installing_MSSQL_for_PHP page about the FREETDS environment variable not working. As you have seen it does work in PHP 5.2. If we can prove that it does not work on PHP 5.3 then we can add a note specifically for PHP 5.3.
Hide
Luis de Vasconcelos added a comment -

Sorry about the "double posting". The first comment was incomplete, so please disregard it and read the second comment.

Show
Luis de Vasconcelos added a comment - Sorry about the "double posting". The first comment was incomplete, so please disregard it and read the second comment.
Hide
Peter Kornfeld added a comment -

Hi,

You just right!
I was so happy to have some solution that didn't pay attention ot the whereabouts of the FREETDS variable!

What is sure that I was able to install moodle 2.0 on IIS7 with MSSQL 2005 in fact in no time (I do not count the day of mt stupidity)...

And I already removed the comment...

Regards.

Show
Peter Kornfeld added a comment - Hi, You just right! I was so happy to have some solution that didn't pay attention ot the whereabouts of the FREETDS variable! What is sure that I was able to install moodle 2.0 on IIS7 with MSSQL 2005 in fact in no time (I do not count the day of mt stupidity)... And I already removed the comment... Regards.
Hide
Luis de Vasconcelos added a comment -

No problem. I've actually been looking for an excuse to play with that FREETDS environment variable because I have wanted to move the freetds.conf file out of the C:\ folder into a "less predictable" location on my production box for a while now. You just gave me the "kick in the butt" that I needed!

Show
Luis de Vasconcelos added a comment - No problem. I've actually been looking for an excuse to play with that FREETDS environment variable because I have wanted to move the freetds.conf file out of the C:\ folder into a "less predictable" location on my production box for a while now. You just gave me the "kick in the butt" that I needed!
Hide
Eloy Lafuente (stronk7) added a comment -

Oki, thanks Luis, Peter.

Mystery solved! Thanks for tidying up the Moodle Docs page. Sure it will help other moodlers in the future!

Ciao

Show
Eloy Lafuente (stronk7) added a comment - Oki, thanks Luis, Peter. Mystery solved! Thanks for tidying up the Moodle Docs page. Sure it will help other moodlers in the future! Ciao
Hide
Luis de Vasconcelos added a comment -

No problem! I've updated the docs with the latest info.

Peter, if necessary, please add any info that might be specific to Wndows 2008 and IIS 7. I can't test this on that platform.

Show
Luis de Vasconcelos added a comment - No problem! I've updated the docs with the latest info. Peter, if necessary, please add any info that might be specific to Wndows 2008 and IIS 7. I can't test this on that platform.
Hide
Peter Kornfeld added a comment -

The only thing I found that when installing php 5.2 with ISAPI the installer will not add the proper handler mapping to IIS7 (it works on IIS6) so it must be added manualy...
(php 5.3 has only cgi that works...)

(in fact I wrote a document to our customers how to set up - from scratch - a moodle on Windows using IIS and MSSQL - it may have some use for others...)

Show
Peter Kornfeld added a comment - The only thing I found that when installing php 5.2 with ISAPI the installer will not add the proper handler mapping to IIS7 (it works on IIS6) so it must be added manualy... (php 5.3 has only cgi that works...) (in fact I wrote a document to our customers how to set up - from scratch - a moodle on Windows using IIS and MSSQL - it may have some use for others...)
Hide
Luis de Vasconcelos added a comment -

Peter, shouldn't you be running PHP as a CGI module under FastCGI on IIS7, instead of ISAPI? You'll get much better performance (especially if you throw in a PHP accelerator too). Anyway, it's off-topic here...

Show
Luis de Vasconcelos added a comment - Peter, shouldn't you be running PHP as a CGI module under FastCGI on IIS7, instead of ISAPI? You'll get much better performance (especially if you throw in a PHP accelerator too). Anyway, it's off-topic here...

People

Dates

  • Created:
    Updated:
    Resolved: