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 , 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 1

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.

Jira: Give user access to one project

Let’s face it, you found this blog post because like me you found Jira permissions to be ten times more confusing than necessary. After a really really long time, I figured out how to give a user access to just one project instead of every project on my account.

1. Copy the default permission scheme to another like “Project-Client-Permissions”
2. Create a group, “Project-Client”
3. Add that group only to the permissions you want them to have. For me, it is Browse Project, Create Issues, Edit Issues, Resolve Issues, Add Comments, Edit Own Comments, Delete Own Comments, Create Attachments, and Delete Own Attachments
4. Apply that Permission scheme to the project
5. Add a user and add them only to the Project-Client group (they should also be in jira-users by default so they can login)
6. One additional step I did – edit the permissions of the default permission scheme and remove “Application Access” – “Any logged in user” from the “browse projects” permission in order to hide other projects from my one project user.

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 v1.100 or greater installed on the server. Run this in your project root like “bash mybranchname;” .

echo "fetching new branches";
git fetch;
echo "creating maintenance file";
touch maintenance.flag;
echo "checking out" $1;
git checkout $1;
echo "clearing cache";
n98-magerun cache:flush;
echo "clearing JS and CSS cache";
n98-magerun media:cache:jscss:clear;
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;
  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_index  index.php;