Skip to content
Ahmed El Moden edited this page Mar 12, 2019 · 10 revisions

A node implementation. Recommended (way faster than php-language-server)

npm -g install intelephense

Registering in .vimrc

au User lsp_setup call lsp#register_server({
    \ 'name': 'intelephense',
    \ 'cmd': {server_info->['node', expand('PATH_TO_GLOBAL_NODE_MODULES/intelephense/lib/intelephense.js'), '--stdio']},
    \ 'initialization_options': {"storagePath": "PATH_TO_TEMP_FOLDER/intelephense"},
    \ 'whitelist': ['php'],
    \ })

If you don't have a ~/.npm-global folder, then probably /usr/lib/node_modules/.

A pure PHP implementation of the open Language Server Protocol. Provides static code analysis for PHP for any IDE.

Uses the great Tolerant PHP Parser, phpDocumentor's DocBlock reflection and an event loop for concurrency.

Installing server with Plug in .vimrc

Plug 'felixfbecker/php-language-server', {'do': 'composer install && composer run-script parse-stubs'}

Registering in .vimrc

au User lsp_setup call lsp#register_server({                                    
     \ 'name': 'php-language-server',                                            
     \ 'cmd': {server_info->['php', expand('~/.vim/plugged/php-language-server/bin/php-language-server.php')]},
     \ 'whitelist': ['php'],                                                     
     \ })