DEVSENSE PHP Language Server
This package provides language server for PHP.
🧠 Language Server
The language server is provided as a platform-specific binary executable file, located in node_modules/devsense-php-ls-${os}-${cpu}/dist/devsense.php.ls
.
The functionality is provided to end-users under a freemium model. See 🔐 Activation section below for details.
🧬 Protocol
The language server is controlled using the Language Server Protocol according to https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/ through STDIN/STDOUT.
There are several additions:
"initialize"
method, parameter:
{
"initializationOptions": {
"0": "{JSON SIGNATURE}",
"clientFeatures": [],
// VSCode settings and their values listed on
// https://docs.devsense.com/vscode/configuration/
// "setting-id": "value",
},
// process ID of client allowing
// LS to automatically kill itself if client exits
"processId": 123456,
// ...
}
"devsense/loadStatus"
notification sent from server to client.
🔐 Activation
The language server provides free features and premium features which needs to be activated by end-user.
Note to developers: To unlock the premium features of this package, instruct end-users to follow the steps below:
Purchase a License: User needs to purchase license on official purchase page: https://www.devsense.com/purchase
Generate License Signature: User will follow the link below to validate license and receive the {JSON SIGNATURE}: https://www.devsense.com/purchase/validation
Activate Premium Features Pass the entire {JSON SIGNATURE} into the language server's
initialize
method,"initializationOptions"."0"
property:{ "initializationOptions": { "0": "{JSON SIGNATURE}", // ... }, // ... }
Or store the {JSON SIGNATURE} into environment variable
DEVSENSE_PHP_LS_LICENSE
.SET DEVSENSE_PHP_LS_LICENSE="{JSON SIGNATURE}"
If you encounter any issues during the activation process, please refer to our documentation or contact support.
📜 Agreement
By including this package as a dependency in your project—whether for personal, commercial, or open-source use—you agree to the following:
- Attribution is required: You must include a visible link to this README file in your project documentation (e.g. in your
README.md
, about page, or developer docs). This is to ensure that end users and developers are aware:
- Who the original authors and maintainers of this package are
- How to access premium features, including purchasing and activation steps
This visibility helps support ongoing development and ensures fair use under our freemium model.
If you cannot comply with this requirement or need a custom license, please contact us for a commercial agreement.