Categories
Database MySQL PHP

MySQL vs. MySQLi

MySQL is a relational database management system (or RDBMS) – meaning that it is a database management system based on the relational model. This RDMS runs as its own server and provides multi-user access to multiple databases at once. The source code of MySQL is available under the terms set forth in the GNU General Public License as well as a plethora of proprietary agreements. Members of the MySQL community have created many different branches of the RDMS – the most popular of which are Drizzle and MariaDB. As well as being the prototype of several branches, most free software projects that must have a full featured database management system (or DMS) use MySQL.

MySQLi Extension (or simply known as MySQL Improved or MySQLi) is a relational database driver that is used mainly in the PHP programming language. It provides an interface to the already founded MySQL databases. It is quite literally an improved version of its predecessor, MySQL; which was simply a means to manage databases over servers.

MySQL can be found in many web applications as the database component of a solution bundle (or LAMP) software stack. Its use can be seen widely in such popular web sites as Flickr, FaceBook, Wikipedia, Google, Nokia, and YouTube. Each one of these websites use MySQL for storage and the logging of user data. The code is comprised of the C and C++ languages and uses many different system platforms –including Linux, Mac OS X, and Microsoft Windows.

The MySQLi extension comes equipped with many benefits that compliment as well as improve those that were provided by its predecessor, MySQL. There are a few that are more prominent than others. These features that are meant to enhance the functionality of the MySQL (as well as provide an update to the database manager as a whole) are an object oriented interface, support for statements that have been previously prepared, support for a variety of statements, support for any kind of transaction that takes place, an enhanced level of debugging support, and an enhanced level of server support that is already embedded in the infrastructure of the database.

As an RDBMS, it is not required that MySQL be shipped with GUI tools in order to administer the databases or manage the data therein. It is possible for users to use a command line tool or download MySQL Frontends from a variety of parties that have the software necessary and web applications to manage the databases, build the databases, and work with the data records.

Summary:

1. MySQL is an RDBMS that runs as a server and provides multi-user access to multiple databases; MySQLi is an extension of MySQL.

2. MySQL does not need GUI tools in order to administer databases or manage the data therein; MySQLi builds upon the features of MySQL and include object oriented interface, support for previously prepared statements, and enhanced embedded server support.

'Coz sharing is caring
Categories
PHP

Symfony – does not have a registered handler / out of free disk space

Last night I started getting down time alerts from New Relic on our Symfony based Application. Our production server went down and while investigating PuTTY started giving me “Out of disk space” error

Out of disk space

An error similar to:-

PHP Warning: file_put_contents() : Only 0 of 36492 bytes written, possibly out of free disk space in /usr/lib/php/framework/symfony/lib/autoload/sfSimpleAutoload.class.php on line 165

Looking into message a little closer I found that the server had ran out of disk space so after making some space and using “symfony cc” to clear the cache i thought that this would have resolved the problem, however i continued to get below message “does not have a registered handler” being presented.

Fatal error: Uncaught exception ‘sfConfigurationException’ with message ‘Configuration file “/usr/lib/php/framework/symfony/config/config/settings.yml, /home/portal/www/site/apps/frontend/config/settings.yml” does not have a registered handler.”

After investigating closely I found the cache was not cleared properly even after running ‘symfony cc’.

Clear the Cache

At the end, i had to clear the cache manually with below command :-

rm -fr cache/*

For some reason this seemed to work fine where as the “symfony cc” command didn’t work therefore the only conclusion that I could come up with is that when the server ran out of disk space it corrupted something in the symfony cache which either is not normally cleared with a “symfony cc” and as a result i needed to remove it completely so symfony could re-build it automatically.

'Coz sharing is caring