#35050 [Opn->Asn]: PHP 5 do not recognize Capital "I" letters in function and class method names
ID: 35050 Updated by: [EMAIL PROTECTED] Reported By: satanistlav at mail dot ru -Status: Open +Status: Assigned Bug Type: Scripting Engine problem Operating System: Linux -PHP Version: 5.0.5 +PHP Version: 5CVS Assigned To: dmitry New Comment: Actually, PHP 5.1 gives the same broken result... but it works in 4.4. Yes, we confirm there is a bug here - not sure how to fix it though) Assigning to Dmitry for now. (Please don't switch the bug back to "Open") Previous Comments: [2005-11-01 15:17:54] satanistlav at mail dot ru I have uploaded your code to the server and I still have the same error! http://www.yda.com.tr/test.php [2005-11-01 15:14:14] satanistlav at mail dot ru I have multilingual site. Locales are set to en_US.ISO-8859-1 in Enlgish side of the site and tr_TR.ISO-8859-9 in Turkish for LC_ALL [2005-11-01 15:12:29] [EMAIL PROTECTED] I can reproduce this with the following short script: IsHere(); ?> (You need to have the tr_TR locale installed for this). It does work properly with PHP 5.1 actually, and it has to to with the zend_str_tolower() function which uses the tolower() libc call, which uses the locale. As in Turkish the I does not lowercase to i you can get weird things. This is why we should get rid of case insensitive function names. It also works with normal function names (instead of classes' methods) [2005-11-01 15:02:31] satanistlav at mail dot ru http://www.yda.com.tr/info.php [2005-11-01 14:57:02] [EMAIL PROTECTED] What is your locale set to? Can you provide a link to phpinfo() output? The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/35050 -- Edit this bug report at http://bugs.php.net/?id=35050&edit=1
#35050 [Opn->Asn]: PHP 5 do not recognize Capital "I" letters in function and class method names
ID: 35050 Updated by: [EMAIL PROTECTED] Reported By: satanistlav at mail dot ru -Status: Open +Status: Assigned Bug Type: Scripting Engine problem Operating System: Linux PHP Version: 5.0.5 -Assigned To: +Assigned To: dmitry New Comment: I can reproduce this with the following short script: IsHere(); ?> (You need to have the tr_TR locale installed for this). It does work properly with PHP 5.1 actually, and it has to to with the zend_str_tolower() function which uses the tolower() libc call, which uses the locale. As in Turkish the I does not lowercase to i you can get weird things. This is why we should get rid of case insensitive function names. It also works with normal function names (instead of classes' methods) Previous Comments: [2005-11-01 15:02:31] satanistlav at mail dot ru http://www.yda.com.tr/info.php [2005-11-01 14:57:02] [EMAIL PROTECTED] What is your locale set to? Can you provide a link to phpinfo() output? [2005-11-01 14:45:44] satanistlav at mail dot ru Description: The Linux hosting server I use recently upgraded PHP Version to 5.0.4. After upgrade all function and and class methods those had capital "I" letter in the function names became unrecognized by PHP. No such problem I had in previouse version of PHP, and no problem in my local server (WinXP, Apache 2, PHP v5.0.5) Reproduce code: --- //Part of mail class . /** * Sets Mailer to send message using SMTP. * @return void */ function IsSMTP() { $this->Mailer = "smtp"; } /** * Sets Mailer to send message using PHP mail() function. * @return void */ function IsMail() { $this->Mailer = "mail"; } . /* I used class methods ***/ . $mailer->IsHtml(true); $mailer->IsMail(); . Expected result: Execution of class method is expected Actual result: -- /* I got error / Fatal error: Call to undefined method PHPMailer::IsHtml() in -- Edit this bug report at http://bugs.php.net/?id=35050&edit=1