Marco Tabini's Blog: 5 PHP Performance Tips You Probably Don't Want To Hear
675185
In a new entry on his blog today, Marco Tabini introduces us to 5 PHP Performance Tips that we "probably don't want to hear".   I thought it might be interesting to write an article about the performance-enhancing tips you probably don't want to hear about - that is, those that are most likely to produce measurable (and durable) results but do require some effort on your part.   His list consists of:  You Don't Need To Plan Ahead In Order To Have A Plan Combat Database Abuse Do You Really Need A Database Anyway? Scale Horizontally Refactor To Scale Vertically  For each, he explains the title and gives a bit of validation to the point. There's some great mentions of tools that you can use to help accomplish them too - a profiler, the Lucene and Xapian full-text databases, and Lustre.
690580
On the Dotvoid.com blog today, there's a new post that shares some handy code to parse out information from the incoming user agent string for the visitors for your site.   Recently I experimented a bit with an Apache log file analyzer written in PHP. It's not all that difficult were it not for trying to parse the browser, or user agent, string. [...] For my purposes I don't care much for the operating system details. This is the result so far. I'm still not very satisfied but I thought maybe other people might be interested and maybe help out.   He provides the code in the format of an encapsulated PHP function that returns the product they're using, the version number of the browser and other various comments.
357182
In a new post to his blog, Chris Hartjes, spurred on by an article in the latest edition of php|architect magazine (covering protecting your code), has shared a few opinions starting with a certain paragraph near the end.   To start, I will focus on the paragraph above. What I get out of that is that if only your source was closed and hidden from prying eyes, it would not have bugs in it. Which is, of course, total nonsense. Code has bugs because it's open and they feel safer? There are two kinds of bugs: application bugs (which is the code I would write) and system bugs (in this case, bugs that that appear from PHP itself). I'm sorry, but there is nothing I can do if there is a bug in PHP that causes my application to crash except to point this bug out to the people who have the ability to fix it.   He goes on to talk more about how protection like this (the article talks about using the IonCube Encoder) will not stop someone if they're really determine to get at the code underneath the encryption. His only suggestion is to make an application good enough that people wouldn't want to try to steal it as much and would rather pay for their version.   Encode your stuff if you want, but be aware that the minute you choose to do that you are telling your customers "I don't trust you" and I have a hard time understanding a business model that assumes people are going to want to steal the stuff you sell.
680727
In an effort to have a definitive resource to point to when people ask about PHP scaling, Sebastian Bergmann is asking for suggestions and information on the topic in his latest blog entry.    In "The J2EE guy still doesn't get PHP", Harry Fuecks suggests that PHP really needs [someone] to get together and write a detailed paper on how it works and why PHP scales so we can all live happily ever after.   I could not agree more.    Sebastian even notes that just recently, such a document would have come in very handy in a discussion. Unfortunately, he hasn't had the experience needed to make such a paper himself, so he's asking the community to help on the project and give suggestions/comments/offers of help in the comments of this blog posting.
37251
If you weren't able to make it to this year's just passed php|works conference in Atlanta, you missed out on the keynote that Marco Tabini, founder of php|architect gave at the start of the conference. Fortunately, he's posted the video of it on his blog:   What they didn't tell me, however, is that they had arranged for a simple (but, as you will see, very effective) web-based system that allowed members of the audience to submit "captions" to the screen as I was speaking. The results were, of course, hilarious - mostly because they "forgot" to tell me about the idea until a few days after.   Be sure to check out the video of the video for some great one-liners.
622401
The International PHP Magazine has posted results from their latest poll conducted over this past week asking which, of their given options, is the best helpful hint for creating a web application in PHP.   Two of the options ranked higher than the rest with one (Page/object caching) coming out on top of the other (Don't save performance testing for the end of the project). The remainder of the votes were divided pretty evenly between the last three options: "Use multi result set queries to your database", "gzip compression", and "Tune your web server".   While you're in the polling mood, you should check out this week's new poll that wonders which of their options might be the biggest hindrance to PHP5's adoption in the community.
565042
The International PHP Magazine has posted the results of the question asked in their latest poll - "What is the Top Criterion for Scaling PHP?"   Of the six options they provided:  Object code caching Template systems Distributed object-caching systems PHP variables that can be set Output Compression Other things that may help  one stood out as a clear winner - "Object code caching". Bringing up second place was "Distributed object-caching systems" and the other options coming in pretty close behind.   Be sure to cast your vote for their latest poll question - "Which is the Most Common Database Problem?"
84867
Tobias Schlitt has a great (long) post responding to a proposal made on the php.internals mailing list for the inclusion of "taint mode" in upcoming PHP versions.   Tobias starts with an overview of what "taint mode" is so that everyone's on the same page. His example involves the incoming and outgoing data usually involved in an application and how the incoming can be the most problematic when it comes to the values inside. This is where taint mode can come to the rescue. At its most basic level, it's a method for, assuming everything coming in is "tainted", creating a mechanism to automatically clean the data before it's even touched.   With the basics down, Tobias looks back to the proposal for a few additional comments. He considers the proposal a great way to introduce the functionality to the language. There are some draw backs he mentions, though, including the additional overhead of working through every inputted value.   Overall, I think this whole thing would be a great addition to PHP and I hope this could come for 6.0. What do you think?   You can also check out some other opinions on the matter:  "Tainted mode" pour php on the Kamelot Blog
53814
Cal Evans has posted his notes from the (just passed) Web Builder 2.0 Conference that happened over in Las Vegas. PHP had its presence there through Cal's "PHP Powers Mashups" talk and others like Chris Shiflett.   There was plenty to see and do at the conference besides PHP and Cal highlights just a few:  AJAX Optimization talks  An overview of some Flickr Stats Google's mashup offerings An introduction to  and some talk of benchmarking Ajax  Check out the full post though - it's jam-packed with links and some great event information.
320871
In a new post, Lukas Smith mentions (among other things) an upcoming webcast via the folks over at php|architect covering the best practices of using the opcode cache in your applications.    oin us as we host PHP internals developer, Stas Malyshev (Zend) with a presentation on optimizing your use of PHP opcode caching software, be it APC, Zend Platform, or another.   This talk will cover techniques that you can use to squeeze the most performance out of your cache, such as avoiding runtime includes and conditional class declaration.    Register soon because the event happens this Friday (March 16th, 2007) and there is no cost to attend - but you do have to sign up.
723192
Here's what was popular in the PHP community one year ago today:Yet Another Web Development Blog: A PHP Developer Spends a Week with PythonZend Developer Zone: AJAX Chat Tutorial Pt 5: Javascript, Sending Chat Messages, Screen Name ChangesWebDevLogs: ClickHeat - PHP+JS heatmapTemplora.com: Basic PHP Script SecurityVinu Thomas' Blog: Modifying your MySQL databases to be UTF-8 compliantJeff Moore's Blog: PDO versus MDB2AnyExample.com: PHP password generationJason Palmer's Blog: Zip Code To LocationThe Bakery Blog: A gift for all to enjoySara Golemon's Blog: PHP-2006: A look backMatthew O'Phinney's Blog: Overloading arrays in PHP 5.2.0Davey Shafik's Blog: A Year in Review (2006)Jacques Marneweck's Blog: Smarty tip for including multiple javascript filesphp|architect: Final days of our iPod Training Promo!Alexander Netkachev's Blog: About Eclipse PHP IDE php.ini location
445025
Popular posts from PHPDeveloper.org for the past week:Stijn Leenknegt's Blog: [PHP6] function-return-array idea!GeesNotNerds Blog: Free PHP + Ajax chat appStefan Mischook's Blog: Object Oriented PHP Tutorial Updated - Steps 18 - 22Dave Dash's Blog: SymfonyCampWebDigity.com: PHP geotargeting techniquesEtienne Kneuss' Blog: Late Static Bindings ExplainedDevShed: Handling Static Data with PHP 5PHP-Learn-It.com: Cooking Cookies with PHPMichael Kimsal's Blog: PHP PredictionJob Posting: Steinman Recruiting Seeks Senior Developer (Littleton, CO)
45632
Matthew Turland has posted some of his thoughts about a topic that's being tossed around in the programming world these days - that PHP is "on its way out".   I have to vehemently disagree with this, and not just because PHP is my language of preference.   He gives several reasons to back up the claim including the fact that large players use the language in high-profile sites as well as the recent upturn of popularity the language has seen (as people come back from the over-hyped other languages).   He mentions collaborations between PHP companies/divisions as well as components made to more efficiently run PHP applications on other web server types.
154380
Paul Reinheimer, one of two behind the funcaday website (providing details on one PHP function each day and special content on the weekends) has posted a supplement to this weekend's posting covering escaping.   The disadvantage with the escape for now, not for later approach is simple. If you save a user's post to the database, then that user's post is displayed 2,000 times there will be some serious differences. [...] You will need to balance your security concerns with performance needs.   The comments on his post back up his suggestions (and include other tips like a recommendation to cache on an even higher level - page blocks).
336483
Here's what was popular in the PHP community one year ago today:Christopher Jones' Blog: Review: PHP Web ProgrammingCommunity News: PHP Conference BrasilWebReference.com: Creating a Custom RSS Feed with PHP and MySQLThe Shadow Fox Network: Create Dynamic URLs With Mod_Rewrite and PHP FunctionsJoshua Eichorn's Blog: Official WebThumb Contest rules publishedDevshed: PHP EmailHowTo Forge: Installing A LAMP System With Fedora Core 6ThinkPHP Blog: Oracle with PHP and PDODevShed: Creating an Administration Area for a Simple Threaded Discussion ForumDevShed: Setting up the Foundation for an Extensible Website Engine with PHP 5PHPBuilder.com: PEAR's HTML_QuickFormAndi Gutmans' Blog:  PHP and Database Connection PoolingInternational PHP Magazine: Poll Question: The Biggest Advantage of PHP 5 is?Greg Beaver's Blog: PhpDocumentor 1.3.1 is releasedAlexander Netkachev's Blog: Practical PHP events
489518
On his blog today, Alex Netkachov has posted a suggestion of how to combat a common issue facing PHP scripts - their memory usage.   PHP has a build-in garbage collector so you do not need to track the links on the objects, allocate memory for objects and delete them when they are not longer necessary. Things seem so perfect that developers do not even know that their scripts allocate a lot of memory until their server stops processing requests because of the out of memory error.   His example is the processing of a parent/child relationship tree. If not managed correctly, the variables being used could get out of hand quite quickly. Alex recommends the use of a "destructor" at the end of each iteration to help destroy variables and values no longer needed.
176495
On his blog today, Ilia Alshanetsky has posted an update on one of the last issues before PHP 5.2 is released - the Filter extension - and some of the problems that have surrounded it.    If you have been monitoring PHP's internal mailing list you probably know that over the last few weeks we've been locked in a stalemate in regard to the API revision of the filter extension brought to light by Dan from our documentation team. This is also the reason why despite this being early October PHP 5.2 is still not out.    Fortunately, after mediation with Derick and Pierre the two protagonists of the filter conundrum a compromised was finally reached.    He mentions the commit that was made to include it into the current build, and no complaints have been lodged against it. He also comments that, with this isse out of the way, developers can look for PHP 5.2RC5 out as soon as this Thursday (10.05.06). Ilia also gives a brief tour of the filter extension's functions.