У меня была такая же проблема некоторое время назад, я решил ее установкой недостающих расширений, т.е.
$ sudo apt-get install php5-gd php5-mcrypt
Если нет необходимости, вы можете попробовать выяснить, какие файлы загружают недостающие расширения, например (на моей машине)
$ grep -Hr "extension=" /etc/php5
/etc/php5/mods-available/opcache.ini:zend_extension=opcache.so
/etc/php5/mods-available/json.ini:extension=json.so
/etc/php5/mods-available/mcrypt.ini:extension=mcrypt.so
...
и закомментировать строки в файлах, дающих ошибку.
Edit Также возможно, что указанные пути неверны, возможно, вы можете их исправить.
Этого я и ожидал. Чтобы прослушивать привилегированный порт, процесс должен быть запущен с привилегиями root. Но как только пользователь подключен, мы хотим, чтобы этот процесс выполнялся с привилегиями подключенного пользователя.Если серверный процесс просто сбросит свои привилегии, он не сможет обслужить запрос от другого пользователя. Существует также проблема, заключающаяся в том, что сервер должен обрабатывать несколько подключений одновременно. Итак, что происходит, так это то, что сервер (, работающий как root ), прослушивает сокет до тех пор, пока пользователь не подключится, а затем, чтобы позволить ему обрабатывать другие запросы и работать с правильным уровнем привилегий, он разветвляется, создавая 2 экземпляра.. Один экземпляр возвращается к прослушиванию соединений, другой переключается на менее привилегированного пользователя. Оба имеют копию дескриптора, ссылающегося на соединение сокета.
Если один из процессов закроет сокет, то, в отличие от двух процессов, обращающихся к одному и тому же файлу, соединение будет потеряно.