Development


Composer: Requirements could not be resolved to an installable set of packages

After cleaning out the /vendor directory and running composer install, this error “Requirements could not be resolved to an installable set of packages” appeared and the process stopped. This seems to be a common and difficult issue to resolve with composer. This post from stackoverflow has a pretty good explanation on how it could be a dependency version issue http://stackoverflow.com/questions/20996767/requirements-could-not-be-resolved-to-an-installable-set-of-packages , but that wasn’t it for me as it was just working. My composer.json file included about 20 dependencies, so I removed all but 3 and installed them successfully. Then added a few more and ran composer update and repeated this process until everything was back.


Magento dev site redirects to live site

When taking a copy of a production site and installing it on a dev server, you’ll need to do a few things for the application to load the dev server and not redirect to the live site.
1. Change the site_url entries in the core_config_data table to match your dev site’s url
2. Delete everything in the magentoroot/var directory
3. Update the app/etc/local.xml file to point at your local database
4. This is the one that usually stumps me for a bit… ensure the magentoroot/var directory’s permissions are opened up (777 the var directory). If this is not done, Magento will write your Magento temporary and cache to the system temp and you magically be redirected to the live site.


Simple Magento Deployment Script

Here is a quick bash script I created to do a magento deployment. This assumes your magento code is managed by git and you have n98-magerun installed on the server. Run this in your project root like “bash deploy.sh mybranchname;” .

#!/bin/bash
 
echo "creating maintenance file";
touch maintenance.flag;
 
echo "fetching and checking out " $1;
git fetch && git checkout $1;
 
echo "clearing cache";
n98-magerun cache:flush;
 
echo "running installers";
n98-magerun sys:setup:run;
 
echo "removing maintenance file";
rm maintenance.flag;
 
echo "done";

Nginx config for Zend Framework 1

My server is running Ubuntu with Nginx and php5-fpm. I wasn’t able to find a quick drop in config for my zend framework 1 project so I wanted to share what I was able to get working. Also notice nginx is listening to tcp port 9000 instead of the default unix socket.

server {
  listen 80;
  server_name local-mysite.com;
  root /var/www/mysite/public_html;
 
  location / {
   try_files $uri $uri/ /index.php$is_args$args;
   index index.php;
  }
 
  # PHP scripts will be forwarded to fastcgi processess.
  location ~ \.php$ {
   include /etc/nginx/fastcgi_params;
 
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
  }
}

Magento dataflow import Skip import row, is not valid value “” for field “type”

MerryStockings
I’ve run into this issue multiple times for various reasons when using Magento’s dataflow importer. In my research of the problem I came across https://www.mag-manager.com/useful-articles/case-studies/error-skip-import-row-required-field-not-defined/ that contained many helpful suggestions, but none of those solved the issue. Just a few products were causing this issue during the import on my dev environment. I found out the product did not exist in my older copy of the database, which caused this error. So much for having a meaningful error message :).