if you are on debian and got sasl.h not found error, usually associated with mongo installation, then the following shall be the solution
sudo apt-get install libsasl2-dev
if you are on debian and got sasl.h not found error, usually associated with mongo installation, then the following shall be the solution
sudo apt-get install libsasl2-dev
These are also other stuffs going on:
composer update or composer install takes forever and the command line responds as killed
Specially this might happen on ordinary symfony application.
This is mostly, very very likely, related to memory issue.
Solution 1: perform your composer update or install on the host machine if possible.
This might not be possible in some scenarios if there are dependencies that rely on installed packages.
But, if that is not the problem, have on the host and the files would be sync’d anyway.
Solution 2: increase the memory on the provision file you have. I am using puphpet so, for that all you would have to do would be
cd /path/to/puphpet/
vim comfig.yml
then search for memory which by default be 512 and increase it at least to 1024 or better 2048 and that should solve the problem
Tip
To see the how much memory you have on your vagrant machine, ssh into your machine and
vagrant ssh free -h
the free command would tell you how much memory you have and how is used.
I got the MongoId not found error on the the application I recently moved to remote server.
The app is working fine locally and the problem appears to happen on the remote one only.
The problem seems obvious, and I checked the mongo version I have locally vs the version I have on the remote – they are different
I have newer version of mongo installed on the remote server. And the doctrine orm handling my mongo objects was also older.
I updated my doctrie orm on composer as
"doctrine/orm": "2.4.6",
This took care of the problem – at least for now 😉
php.ini is a core file to handle the behavior of PHP and sometimes apache might not pick it and php might not be using and it will create problem.
To resolve this, just see the output of phpinfo first.
Just add the following code snippet in the php file and run it through your server
<?php phpinfo();
Then look of configuration file (php.ini) path, by default it would be /etc
If you don’t have the file php.ini in that mentioned directory, just look for related ones like php.ini.default or something and just copy that as php.ini and restart your apache.
This is typical problem of doctrine with joined relations.
How to use MySQL keyword as column in doctrine
And, to be specific, this would happen when trying to save an entity with relationship and the one being joined is fetched from memcached/redis or from other entity manager or you just populated it and not getting through Entity Manager
Use the merge on EntityManager before you persist the object
Say you have an entity for pen and entity for color as well.. You want to save a new pen but you assigned a color from memcached object
$color = $this->memcacheGiveMeColor('blue');
$color = $em->merge($color)
$pen->setColor($color);
$em->persist($pen);
$em->flush();
Make sure you are using the object that is returned from merge!
If you are not reading from the memcached or other factory, and you are reading directly from Entity Manager then you wont have this error.
Start using mongoDB with nodeJS even though you haven’t been using it before
What is http raw data? what is php://input and where to use which?
In the request->process->response world of the MVC infrastructure, Symfony2 fits just perfect.
I was working on some data intensive site. All I want was to get the set of records from the mysql database and pass it to the front end through the controller. The front end wants the JSON format of the result set. The front end is getting the polished output of the twig
The problem
Front-end is not happy since it is getting quote-escaped version of JSON
The solution
Very very very simple. Rather than passing the json_encode(all_cars), where all_cars being the array of results coming from database or whatever it is, just pass the array it self
{{ all_cars | json_encode | raw }}
Yup, twig will not try to escape the quotes in this case since it is told to present raw.
Additional View
As you can see in this menu, both JSON and html views are together as combo. From design point of view this is not a good approach.
Better approach
You can bake the whole view right in the view and you might not want additional javascript logic on your view
OR
Have specific API to return 100% JSON response for the request like
some domain dot com/all/cars
By hitting this from, say your ajax call, you will be provided with json formatted list of all cars.
Since you are calling it from javascript, it will be directly coming to its home and no funny business would be there.
Then you will have another url call to load the page say:
some domain dot com/cars
where it will simply load the bare html format to the front-end and the front-end will know what to do with it.
Of course, this would have two trips and even more so it would be suitable for 80-90% of ajaxy sites..
EnJoY!
Having this problem after flashing the OS on your SD card?
It looks the latest wheezy is having this problem. I didn’t have this problem before. Any way the simplest fix I have so far is clearing the status file and running the update again
i@raspberrypi ~ $ sudo rm /var/lib/dpkg/status pi@raspberrypi ~ $ sudo touch /var/lib/dpkg/status pi@raspberrypi ~ $ sudo apt-get update
The first command is to remove the corrupted status file
The second would create a blank file with name status, just the reverse of the first command
Last, update to fill up the status..
That is it..
It is a bit frustrating when you want to send and email or watch a trailer on youtube or whatever it is and you can’t connect. it looks we can’t live without it anymore
Here are steps that would help you to figure out what has went wrong when you are in such scenarios. We will start from the obvious ones..
1. Are you on the right wi-fi? Yea it looks obvious but mac being smart and remembering wi-fi spots you might be on the wrong one.. so give it a check
2. Is that only your mac that is not connected to the internet? Check your other gadgets have internet from the wi-fi you are trying to connect. If others can’t make it then the concern would be changed to the source.
3. Restart your router. Usually, most routers have reset button. Reset it, unplug the power and let it be like that for a couple of minutes and check again.
4. Click on the apple icon on the top left, and click System Preferences. Then select network. On the left you would see your Wi-Fi being listed. Click on it and on the right window, turn wi-fi off and click again to make it on. Then select the network from the drop down list. This one would be usually used for when you see the exclamation point on the Wi-Fi icon
5. Try the wireless diagnostics. You can access, click on the Wi-Fi icon on the right top cornet while holding the option button. It will be listed on the bottom of the list. Follow the wizard and see if that helps the problem.
6. See if you IP is accessible from other machines. If you have another computer, it could be windows or linux use the ping command to check if your ip-address is accessible and valid. On windows, open the command prompt and write ping ip.address.here. You can get the ip address of your mac from System preference->network then click on the Wi-Fi. You will see it on the right pane. Say your ip address is 192.168.2.3
ping 192.168.2.3
7. If the step number is shows you the ip-address has the problem, change the range of ip-addresses from your router to force a distribution of new ip-addresses to your devices. Please google how to assign the ip-range on your router using your router brand. The default we accessible router configuration would be http://192.168.0.1. try that on your browser or check what it is from the manual and update accordingly..
Good luck!
Doctrine orm error like above? I have been there.
The solution I am providing is not that great solution but it can keep you going for a while.
A tool for generating entities for doctrine orm from the database table without primary key might complain as:
has no primary key. Doctrine does not support reverse engineering from tables that don’t have a primary key.
From the code base search for DatabaseDriver.php file:
Go to DatabaseDriver.php
Search for reverseEngineerMappingFromDatabase
method in the given file.
uncomment the the following part as follows
//if ( ! $table->hasPrimaryKey()) {
// throw new MappingException(
// "Table " . $table->getName() . " has no primary key. Doctrine does not ".
// "support reverse engineering from tables that don't have a primary key."
//);
//}
//$pkColumns = $table->getPrimaryKey()->getColumns();
Add the following line
$pkColumns = array();
Then search for method getTablePrimaryKeys
and comment everything inside it and return empty array.
The above method will remove the has no primary key. Doctrine does not support reverse engineering from tables that don’t have a primary key. error when using entity generation tool.
The first one would be just to double check if we have correct configuration for xdebug.
But the main and common culprit for this is using
extension=xdebug.soinplace ofzend_exention=xdebug.soin php.ini