Laravel – How To Fix Wrong Domain in Queue Jobs

There is a tricky problem that happens when queued job tries to get the URL (via URL helper or from config) – it doesn’t seem to “notice” the .env / config app.url setting.

The reason is that somehow the queue worker misses the current environment name (might only happen if it is managed system wide via upstart or similar service).

The solution would be to include the –env flag when running queue worker like that: Continue reading

Recover Linux Dual Boot after update to Windows 10

Here’s the problem: I dual boot Windows 7 and Ubuntu 14.04, after deciding to upgrade Windows to 10, I ended up with upgrade partially finished and GRUB going into rescue mode.

That means that Windows messed up GRUB and possibly corrupted Linux’s partition. Here are basic steps I had to take to recover Linux + Windows dual boot (make sure you have a live USB to boot from): Continue reading

Fix No Sound in Steam for Linux Problem

There is an issue with Steam for Linux that seem to be persistent on machines with HDMI enabled displays or similar unused HD audio inputs.

Steam for Linux seems to use these controllers despite them being ignored by the system, which results in weirdly muted games while YouTube as well as any sound tests are loud and clear.

To fix this issue open sound settings and select analog controller or (for pulseaudio sound server) install pulseaudio volume control

sudo apt-get install pavucontrol

under “Output Devices” check if it tries to use the HD audio controller to output sound, go to “Configuration” and disable the HD audio controller profile so that analog audio will always be used.

Update: Local Subdomains under Ubuntu 14.04 Linux and Apache 2.4

Here we went through the Ubuntu 13.10 process, Ubuntu 14.04, though using the same Apache 2.4, again has a small thing that have to be done differently:

Config files in sites-available have a .conf (and not .config) extension
gksudo gedit /etc/apache2/sites-available/project.conf

As for the rest, previous Ubuntu 13.10 Tutorial can be used for newer Ubuntu as well.

Local Subdomains under Ubuntu Linux and Apache 2.4 Tutorial

The whole process was described in this article, but there are few quirks to fix in newer Ubuntu (namely 13.10 / Apache 2.4).

  1. Every config file in sites-available has to have a .config extension now, so instead of
    sudo nano /etc/apache2/sites-available/project
    use
    sudo nano /etc/apache2/sites-available/project.config
    if upgrading fist add the extension to the /etc/apache2/sites-available/project config file, then delete /etc/apache2/sites-enabled/project and re-run “sudo a2ensite project” / restart apache.
  2. If your project root is located in your home directory you might get a persistent 403 / Forbidden error, that (weird as it is) has nothing to do with Linux permissions. To fix it add “Require all granted” directory directive. Here is how the new config file might look:
    <VirtualHost *:80>
    DocumentRoot /home/user/project
    ServerName project.localhost
    <Directory /home/user/project>
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
    </Directory>
    </VirtualHost>

So here are updated instructions for Ubuntu 13.10+ (and maybe some older versions). Continue reading

How To Fix Laravel 4.0 – 4.1 Upgrade

Recently I’ve upgraded a Laravel 4 application from version 4.0.10 to 4.1.18. Despite Laravel’s website having a nice upgrade guide I did encounter few quirks that needed a little attention and some extra work.

So the very first thing to do, would be to follow the mentioned guide, hopefully you’ll end up with working new version of your application and wouldn’t need anything else (use “php artisan” command in your application folder to check out the current Laravel version).

Though I ended up with the following error each time I tried to run an artisan command (including simple “php artisan”):

PHP Fatal error: Class 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider' not found ...

And there were indeed no ConsoleSupportServiceProvider in my installation. Surely “composer.phar update” did not work as well as it tries to execute “php artisan …” commands and suggested “composer.phar update –no-scripts” worked, but didn’t fix anything.

After a bit of research I ended up with a kind of “clean install” solution, so if you have the same or similar issue you may try following: Continue reading

Manually remove a broken package in Ubuntu/Debian

Recently I’ve had a problem with one of the packages (“deployment-daemon-zend-server”) that went broken after system upgrade, so that no updates or even new software could be installed. Here’s an error message I kept getting:
dpkg: error processing deployment-daemon-zend-server (--remove):
subprocess installed pre-removal script returned error exit status 127

That’s a nasty problem cause it has to be solved per hand – no automatic fixes via update manager and software center worked for me, I also tried the force removal of the package this way:
sudo dpkg --remove --force-remove-reinstreq PACKAGE_NAME
And it didn’t work either. So the solution here is to find all the package files, move them to a temporary directory and then force-remove the package. Following code did the job (replace PACKAGE_NAME with the name of the broken package):
sudo mv /var/lib/dpkg/info/PACKAGE_NAME.* /tmp/
sudo dpkg --remove --force-remove-reinstreq PACKAGE_NAME