Можно предположить, что JAVA зависит от какого-то "сервера" приложений, а PHP - нет, что означает, что каждый раз при вызове страницы PHP нужно создавать новую среду.
(Это было особенно верно, когда PHP использовался как CGI, а не как модуль Apache или через FastCGI)
Другая идея может заключаться в том, что компиляторы C # и JAVA могут выполнять некоторую большую оптимизацию во время компиляции - с другой стороны, поскольку PHP-скрипты компилируются (по крайней мере, если вы не «читерствует» с кешем кода операции) каждый раз, когда вызывается страница, фаза компиляции должна быть очень быстрой; а это значит, что невозможно тратить много времени на оптимизацию.
Тем не менее: каждая версия PHP обычно поставляется с некоторым улучшением производительности; например, при переходе с PHP 5.2 на 5.3 вы можете получить от 15% до 25% процессорного времени.
Например, посмотрите на эти тесты:
Также важно то, что PHP довольно легко масштабируется: просто добавьте пару веб-серверов и вуаля!
Проблема, с которой вы часто сталкиваетесь при переходе от 1 к нескольким серверам, связана с сессиями - сохраняйте их в БД или memcached (очень просто) , и проблема решена!
В качестве примечания: я бы не рекомендовал выбирать технологию, потому что в некотором измерении разница в скорости составляет пару процентов: есть гораздо более важные факторы, например, насколько хорошо ваша команда знает каждую технологию - или даже алгоритмы, которыми вы являетесь собираюсь использовать!