Zend Framework: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' - windows

As you may have known that I switched from ubuntu to windows from my previous questions. I was working on Zend Framework on ubuntu and now working on same project in windows. Because of this switching I am facing some problems in windows which was not occurred in ubuntu.
Now I have the following error in firebug console when I go to login page:
<b>Fatal error</b>: Undefined class constant 'MYSQL_ATTR_INIT_COMMAND' in <b>C:\wamp\www\vcred\library\Zend\Db\Adapter\Pdo\Mysql.php</b> on line <b>93</b><br />
Do you people know that what type of error is this and what is the solution?
I have the following configuration for database.
resources.db.adapter = "Pdo_Mysql"
resources.db.params.host = "localhost"
resources.db.params.username = "root"
resources.db.params.password = ""
resources.db.params.dbname = "test"
resources.db.params.charset = "utf8"
Thanks

I just had the same error with PHP 5.2.6, and all I had to do is to open php.ini (e.g. on Windows: C:\Windows\php.ini, or on Ubuntu: /etc/php5/apache2/php.ini or sg. like this) in a text editor, and remove the semicolon from the following line:
;extension=php_pdo_mysql.dll
So as a result it would look like this in php.ini:
extension=php_pdo_mysql.dll
That solved my problem.

This looks related to this bug on PHP's bugtracker : Bug #47224 MYSQL_ATTR_INIT_COMMAND is no longer available
It seems it's been fixed in SVN -- but maybe not in the version of PHP you are using ?
Quoting one of the comments :
[2009-07-02 06:43 UTC] mg at artigo
dot pl A temporary solution is to
use INT value (1002) instead of
constant.
This might be a temporary solution, until you install a new version of PHP, in which the bug is fixed ?

Looks like a Windows bug in PHP 5.3 that was fixed in SVN a while ago. You might want to try updating to the latest PHP release to see if the issue still exists.

I got the same error, on debian6, when I had not yet installed php-mysql so, I simply installed this, like this
apt-get install php5-mysql
/etc/init.d/apache2 restart
I just add it here, in case other have same problem, to save them them a few minutes of research.

Related

gatsby new command error "TypeError: rd.cursorTo is not a function"

Im creating a new site using the command gatsby new and im getting the following error
Cloning site template C:\Users\catal\AppData\Roaming\npm\node_modules\gatsby-cli\node_modules\yoga-layout-prebuilt\yoga-layout\build\Release\nbind.js:53
throw ex;
^
TypeError: rd.cursorTo is not a function
at Timeout._onTimeout (C:\Users\catal\AppData\Roaming\npm\node_modules\gatsby-cli\node_modules\create-gatsby\lib\index.js:5:852)
at listOnTimeout (node:internal/timers:564:17)
at processTimers (node:internal/timers:507:7)
Node.js v18.7.0
Im using windows 11
That was reported in gatsbyjs/gatsby issue 35426 in last April (2022), for now without conclusive resolution.
Try the create-gatsby locally first, following its readme, to check if this is a version issue (although node minimum version was set to 10).
If possible, try it also in a Linux WSL2 (for instance Ubuntu) VM, in order to check if this is related to the OS.
Upgrading my python version to latest fixed the issue for me.

TypeError: Updater.__init__() got an unexpected keyword argument 'use_context'

It occurred when I perform this :
updater = Updater('5502935975:AAGcE8wtPOUMXVCOI3PXr0fygpXsdaEn-HI', use_context=True)
Many Thanks!
You should revoke the token that you just posted. Also double check which version of python-telegram-bot you are using and followng the resources that PTB provides for that version.
Disclaimer: I'm currently the maintainer of python-telegram-bot.
"Down grade" or "upgrade" the python-telegram-bot to the relevant version , e.g i downgraded by using "pip install python-telegram-bot==13.7" from the lastest python-telegram-bot 20.0 version, and it worked for me,
NOTE: my version might be different from yours so use the right version that wont call the error

Laravel - compact(): Undefined variable: operator in Builder.php

I have PHP version-7.3 installed in my system and Laravel-5.8. When I tried to rub composer install or composer update on an old Project with Laravel-5.4 and PHP Version-5.6.4, I got this error shown below:
In Builder.php line 1229:
compact(): Undefined variable: operator
Script php artisan optimize handling the post-install-cmd event returned with error code 1
Then, when I tried to run the application, I got this error page as shown on the screen:
I tried to run:
php artisan cache:clear
and
composer update
but the problem is still there.
How do I get it resolved?
Thank you.
It looks like this issue was fixed in Laravel 5.5 according to this post: https://github.com/laravel/framework/issues/26936#issuecomment-449479336
Since Laravel 5.4 is no longer supported, your best option might be to upgrade. You can find a list of the currently supported versions here: https://laravel.com/docs/releases
The minimal upgrade that should still fix the error would be 5.4 to 5.5. The instructions can be found here: https://laravel.com/docs/5.5/upgrade#upgrade-5.5.0 (please note that support for 5.5 has also ended, but it might still fix your bug). This would also require you to switch the project to PHP 7.0.0 or greater.
If:
You can't upgrade for whatever business/team related reason and
Are sure that the Homestead box is running the correct version of PHP (7.2 or lower based on the answer given here) and yet
are still getting this error,
explicitly define the PHP version on the Homestead.yaml file. This should be done on the sites property as such (each is a new line, of course):
map: test.appp
/home/vagrant/code/test/public
php: "7.1"

Laravel parse error: syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE

After installing laravel we get an error:
Parse error: syntax error, unexpected T_CLASS, expecting T_STRING or T_VARIABLE or '$' in C:\xampp\htdocs\laravel\public\index.php on line 50
Laravel 5.1 uses the ::class property to get string representations of a fully qualified classname. The error you're seeing is caused by this line
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
This language feature has been introduced in PHP 5.5 which is a requirement of Laravel 5.1. Your installed PHP version is probably older than 5.5. Try to update your PHP binary.
In case you are interested in why ::class is used, take a look at this answer
Same thing happened to me also. I found that web server was using my old PHP version 5. To solve it for me, I did this -
sudo a2dismod php5
sudo a2enmod php7.0
sudo service apache2 restart
Your php version is too low.
Try version 7.0 or later php.
Your PHP version on your Xampp is lower than 5.5.9 as specified in the Laravel 5.1 doc.
Simply uninstall your current Xampp software and download a fresh copy at Apache website with this specification 5.6.12 / PHP 5.6.12 .
Do not forget to collaborate with your host provider to ensure that your hosting account runs the required PHP version (>=5.5.9) during the deployment of your Laravel 5.1 app online.
I was facing the same error but error was in app/User.php line 10.
Actually, line 10 was ok but before line 10 I was missing some php syntax.
After correct the php syntax error It was fixed. So you have to check C:\xampp\htdocs\laravel\public\index.php on line 49 carefully I am sure there is something wrong. Just try to correct. It will be fixed.

MAMP: How to upgrade PEAR

When trying to upgrade MAMP pear the following error is raised:
Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.
Some suggestions how to fix this?
Steps to reproduce:
Installed MAMP (version 2.0.5)
cd /Applications/MAMP/bin/php/php5.3.6/bin
sudo ./pear upgrade pear
above mentioned error is thrown
Update (1):
Based on answer 8375349/420953 I tried 2 possibilities to fix this
A: delete pear.conf
rm /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
B: edit pear.conf
change "php_dir";s:44 to "php_dir";s:43
both resulted in error:
Could not get contents of package "/Applications/MAMP/bin/php/php5.3.6/bin/pear". Invalid tgz file.
upgrade failed
Update (2):
running
which pear
results in output
/usr/local/bin/pear
With this, I noticed that I was using the "local" version of PEAR.
I removed it with
sudo pear uninstall pear
and then tried to upgrade the MAMP version of PEAR with
/Applications/MAMP/bin/php/php5.3.6/bin/pear upgrade pear
this results in error
Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user
upgrading with
sudo /Applications/MAMP/bin/php/php5.3.6/bin/pear upgrade pear
installs it locally (again).
running
which pear
outputs
/usr/local/bin/pear
this brings me back to the starting point of Update (2). Seems that I am not able to upgrade PEAR under a MAMP directory.
Update (3):
I posted question
MAMP PEAR configuration is pointing to local directories
because my assumption is that the root of this issue is related to MAMP PEAR config.
Update (4):
I did not install a local PEAR version and this was causing quite some issues. After also installing a local version (and not only the MAMP) version, upgarding the MAMP version worked perfectly.
People with the your exact problem seem to has solved it in this MAMP forum thread.
You can either delete /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf, or change a line in that file from "php_dir";s:44 to "php_dir";s:43.
Edit the pear.conf: Adding a forward slash "/" to the end of the php_dir path, while keeping the s:44 solved the problem for me and a couple coworkers.
I have XAMPP installed, and I just deleted /xampp/php/pear.ini and that solved the same problem
Just chipping in with a late response for others finding this answer. My PEAR config had several issues and not just the php_dir config setting.
I had to go over all of my settings to verify that the count was correct. When all errors where fixed my PEAR was working fine again.
Seeing this message in the terminal:
Notice: unserialize(): Error at offset 276 of 1133 bytes in Config.php on line 1050
ERROR: The default config file is not a valid config file or is corrupted.
Go to your PEAR Config file (probably located here /MAMP/bin/php/php7.0.10/conf/pear.conf)
Go to the 276th character in that file and verify that the string length matches the s43 that's defined before the string.
Run a PEAR command again (e.g. pear version)
If you have more errors located at e.g. 317th character you count that string and write the length in the s:XX before the string.
Just for clarifying for others finding this issue. The PEAR Config file is a serialized object that is unserialized when running commands.
A serialized object looks like s:5:"value" with the s:5 defining the length the string.

Resources