PHPWomen finances goodies to give away at conferences and also assists members who perhaps would not ordinarily be able to attend conferences to get there and participate. More women at conferences …. can that be a bad thing?
Author Archives:
PHP London 2008 Schedule
I’m a Zend Certified Engineer
Logrotate Error on Ubuntu
/etc/cron.daily/logrotate:
error: error running shared postrotate script for /var/log/mysql.log /var/log/mysql/mysql.log /var/log/mysql/mysql-slow.log
run-parts: /etc/cron.daily/logrotate exited with return code 1
What’s happening is that after all the mysql backing up and everything is done, ubuntu is trying to use the debian-sys-maint user to flush the logs, this is actually called in /etc/logrotate.d/mysql-server. On my system, we seem to have lost this mysql user.
The solution is to look for the password used in the /etc/mysql/debian.cnf file, mine looks like this:
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
user = debian-sys-maint
password = xxxxxxxxxxxxxxxx
socket = /var/run/mysqld/mysqld.sock
basedir = /usr
Using the password, and some inspiration from this post on the Ubuntu Forums I recreated the user with the necessary permissions and password with:
GRANT RELOAD, SHUTDOWN, PROCESS, SHOW DATABASES, SUPER, LOCK TABLES ON *.* TO 'debian-sys-maint'@'localhost' IDENTIFIED BY PASSWORD 'xxxxxxxxxxxxxxxx'
This did the trick, as the nightly errors have now disappeared from my script. Hope this helps someone in a similar situation – if you can expand these notes then please add a comment and I will update this as needed – thanks :)
Home Office Haven
So here are the new shelves, finished today (the nice contrasting wall colour was the result of me popping to the DIY store and trying to guess which colour paint would be the closest match … I’ve already been assured there is something wrong with my colour sense!):
And here’s what they looked like an hour later, when I got some stuff unpacked onto them – they’re really deep shelves and they are going to hold a lot of “stuff” :)
I’d also like to give special mention to this guy:
I had a build-a-bear voucher for Christmas so I went and chose this traditional style bear. He is stuffed really hard, so although he isn’t cuddly, he is still soft and can sit up on his own. He’ll be supervising operations in the new office and keeping me company when I am working here. All in all, I think its coming together rather well – all I need now is some ideas for small-scale woodwork projects to take care of the many offcuts that are lying around downstairs. Suggestions in the comments box please …
Compiling PHP Development Version
I then used the following steps to compile PHP:
./configure --prefix=/usr/local/php5.3 --with-apxs2=/usr/bin/apxs2
make
make test
make install
The configure arguments are to get the resulting code put into /usr/local/php5.3/ and to specify where to find apxs2 itself. Strictly speaking the “make test” step is optional, however as this is a development version of php I consider it polite to run this automated test and then press the button to submit the results at the end, it runs quickly and if it helps the QA people, then great.
It was at this point that I realised that I had overwritten a pre-existing file, critically it was /usr/lib/apache/modules/libphp5.so, the shared object file for my existing PHP installation! I fiddled with the PHP configuration at length but could not figure out how to get PHP to spit a differently named or located file out of the other end of the process.
This evening I mentioned my problem in the #phpc channel on freenode (warning, its not a help channel, don’t go there and ask questions, you won’t get a warm welcome) and after some prodding from the guys there I worked around my problem by skipping the make install step – its this step which uses apxs to move the file and causes my problem. The makefile shows the list of install targets, and I needed to exclude install-sapi. My steps now look like this:
./configure --prefix=/usr/local/php5.3 --with-apxs2=/usr/bin/apxs2
make
make test
make install-cli install-build install-headers install-programs install-pear
cp libs/libphp5.so /usr/lib/apache2/modules/libphp5-dev.so
The new make install line just installs the bits I’ll want, it seems that any combination of these can be used, depending on which bits of the language will be needed. The final line copies the apache module into the correct location for my system (Ubuntu Gutsy Gibbon).
Non-technical Postscript
I just wanted to add a note here to say that I would probably never have got to the bottom of this problem if I hadn’t been collectively rescued from it by some of the seriously leading lights in the PHP community – people who shouldn’t really know my name never mind stop to help me with a fairly basic problem. So thanks and hugs to Derick, Johannes, Davey and Ben. Thanks guys – for solving my problem *and* reminding me why the PHP Community is a cool place to be!
2007 Review
Career
This year I changed jobs in the spring, to go and work for a small web agency (they think they’re a digital marketing agency but I’m not convinced) as a web developer. More interesting than the job side of things is that this year, I met the PHP community.
PHP People
I haven’t met the whole community, and hardly any of them in person, but meet them I did. Through phpwomen.org I have a mentor, the lovely Ligaya and she initially suggested I spend more time in IRC since that’s where things happen. Usually I can be found on freenode in the #phpc and #phpwomen channels. In February I met Cal Evans, at the PHPLondon conference. This was a fabulous conference and I also met a few other people, including monxton from phpwomen and also Rasmus Lerdorf (father of PHP) although I was too overwhelmed to say anything to him! Since then I’ve made loads of friends and learned a lot from this community. In November I attended the International PHP Conference in Frankfurt, Germany, and wrote about it for phpwomen. While there I attended some good sessions (of both conference and drinking varieties) and also got to meet lots of people – some friends that I knew already but hadn’t met in real life, and some other new friends. I know the people I met this year will be a big influence on 2008 for me.
Home
This time last year we’d had all our belongings in storage for almost a year and had two house sales fall through in four months. Well, it took another failed sale and a full 5 months but we finally did it and bought our first house in May 2007. For the full saga (and a saga it was) read the house category posts, I warn you it does take some reading! Anyway we are now in possession of a 4-bedroomed house, set over four floors, with two bathrooms, gardens and a garage. Notably it has the kitchen in the basement, which floodes, and we bought the contents of the house, which we hadn’t really planned for. Since buying the house we have had people in to patch up the roof and guttering, fit central heating, and totally rewire the house. We’re now at a point where the brick dust and missing floors are gone and we can start getting the place straight. Plastering, carpentry and decorating skills are now in demand and at some point we need to figure out how to choose, purchase and lay floors. At the moment the house looks like a disaster area but the place is really growing on me and we really are making progress, even if that’s not obvious to outsiders at the moment!
Website
Last year I did a whole round-up of the site and how I was getting on with it. I can’t see me getting around to it this year, mostly because its not that interesting but rest assured that the bulk of my traffic is visiting the recipe pages! Here’s a quick snap of the dashboard of the google analytics tool for this site, things seem to be a bit quiet over the summer, but maybe that’s because I posted less at that time.
In Conclusion
2007 was a very good year, here’s to 2008 :)
Christmas Angel
I spent last weekend doing a mad delivery round across the midlands but now I’m enjoying a quiet Christmas at home. I also finally got round to making the angel for the top of the tree, here she is:
She took up her post on top of the tree just in time, on Christmas Eve!
Midwinter
Easy Mincemeat Recipe
Ingredients
- 1.5 lb of cooking apples
- 2lb mixed fruit (like raisins and stuff)
- 8 oz shredded suet (the veggie kind is low fat)
- 10 oz soft brown sugar
- grated rind and juice of one lemon
- half a level teaspoon of mixed spice
- 4 tbsp brandy
Method
Peel, core and slice the apples. Cook gently without water, stirring to pulp them. Cool.
Add dried fruits to all other ingredients, then stir in apple. Mix well.
Put into rigid containers – then either keep for a few days and eat, or freeze immediately. It doesn’t keep long because of all the apple in the mixture. I froze mine and then made it into mince pies, then put it all back in the freezer. The instructions say to thaw overnight at room temperature but I found that an hour sitting in the kitchen while I cooked something else was enough to defrost it enough to be able to spoon it in as pie filling.
Let me know if you try this recipe and how it turns out for you by leaving a comment. Consumers of my mince pies may also comment :)