12th March 2008
Note: this post is based on the comment by Simon, who generously shared his experience.
Step-by-step:
- Download the compiled ffmpeg with libmp3lame support (direct download links: older version ffmpeg.with.lame and newer version ffmpeg.2007-10-28.with-libmp3lame-support).
- Rename the downloaded executable file to “ffmpeg” (no extension), upload it to the directory on your server (in this example /home/myusername/).
- Download libmp3lame.so.0.
- Upload libmp3lame.so.0 to the same directory where you placed ffmpeg in.
- Create a php file with the following code (remember to change the paths to your own, where you actually uploaded binaries in previous steps):
<?php
exec("export LD_LIBRARY_PATH=/home/myusername/");
echo passthru("/home/myusername/ffmpeg -formats");
?>
- If you access that PHP file with your browser, you should be able to see a list of formats which are supported by ffmpeg, and if you find “EA libmp3lame” somewhere in the output, then it means you now can Encode Audio in libmp3lame!
- If that doesn’t work for you: LD_LIBRARY_PATH can be a protected variable in PHP (you can check for this by searching for the “safe_mode_protected_env_vars” value in phpinfo() output). The workaround here can be to write your commands to a file from php, then chmod that file with 0755 permissions (rwx-rx-rx), and run the file through exec(). In this way, PHP is not changing the LD_LIBRARY_PATH, but telling the server to run a file, which tells the server to change it. This method worked for the original author of these instructions.
For passing arguments to the PHP wrapper script – check out PHP’s $argv variable (more on this here). If you decided to use shell-script as a wrapper for “export LD_LIBRARY_PATH”, then using $1, $2 etc will allow you to pass parameters to the shell script, e.g. in the example below
#!/bin/bash
export LD_LIBRARY_PATH=/home/myusername/
/home/myusername/ffmpeg -i /home/myusername/$1 $2 /home/myusername/$3
you could pass “input file” as first argument, “parameters” as second and “output file” as third to make such a wrapper script work.
Posted in *nix, PHP, Programming, Software, Web | 19 Comments »
6th March 2008
Juicy presentation, even for seasoned MySQL developers.
Read the rest of this entry »
Posted in Links, Programming, Web | No Comments »
27th February 2008
Get it here.
It adds Referrer of the person who’s leaving comment on your WP blog. May help to take the right action for seemingly legit, but really spam comments (e.g. if someone was just searching for blogs with enabled commenting to leave a comment with name linked to their biz-website).
Posted in Software, Web, WP PlugIns | No Comments »
25th February 2008
Problem report at menalto forum. Another one, also with no solution.
I can confirm – URL rewrite + DHTML Album Select produces two forward slashes in the Matrix theme, in my gallery 2.2.4 setup, after a single use of the Recalculate button in Disk statistics tab in Statistics plugin from Community repository.
Read the rest of this entry »
Posted in Software, Web | No Comments »
24th February 2008
ExpressionEngine (EE) by EllisLab (see dislaimer). EE is available both as free and as paid-for: free has somewhat limited functionality, but enough to start the simple news site or blog. ExpressionEngine is suitable both for content-centric and news-centric (blog-like) projects, though in my opinion it’s more geared towards news/blog-like sites.
Read the rest of this entry »
Posted in CMS, Software, Web | No Comments »
16th February 2008
I know it’s kind of old now, but check this image out:
Via webplanet.ru – reddit.com.
Posted in Links, Notepad, Programming, Society, Web | No Comments »
8th February 2008
Most frequent use: convert database from latin1_swedish to utf8_general_ci.
Original script found at: MySQL and UTF-8.
Update: the original script had an error, it would generate queries likes this one (note the bold part):
ALTER TABLE `links` CHANGE `link_rel` `link_rel` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT NULL;
This is clearly wrong syntax (and logic). I fixed this by making comparison to NULL strict (with three equal signs instead of two):
// Does the field default to null, a string, or nothing?
if ($row['Default'] === NULL)
Update 2: based on comment by banesto, I modified the script; now it does not require specifying the from_collation, it’s sufficient to specify to_collation (which will be used for all the fields and tables). The modified code is:
if ($row['Collation'] == ” || $row['Collation'] == $convert_to)
continue;
Update 3: the long-lasting, re-appearing NOT NULL DEFAULT NULL problem is finally fixed.
Update 4: incorporated Russ’s fix to skip numeric fields (in order to leave autoincrement values intact).
Here’s the script itself: (to copy-paste: first click the “Plain text” header)
Read the rest of this entry »
Posted in Links, Notepad, PHP, Programming, Web | 60 Comments »