PhpStorm remove port from localhost URL - phpstorm

When I run my files it takes me to: http://localhost:63342/leadmandist/index.php
I want it to take me to:http://localhost/leadmandist/index.php
How do I remove this :63342 from the URL as it is causing a "Bad Gateway" error? I want this to apply to all of my files.
I tried removing the port in the settings but it won't allow an empty value and just reverts back to 63342.
I am using WAMPServer. If there is a better solution than what I want then I'd love to know.

The URL you are seeing there is PhpStorm's own simple built-in web server. If you want to use your own web server (Apache/IIS/nginx/whatever) then you have to tell IDE about it:
Settings/Preferences | Build, Execution, Deployment | Deployment
Create and configure new entry (In Place type should do; as long as your files are already located in a place where Apache will be able to serve them from)
The key here is to provide your desired URL here
Mark this entry as Default for this project
Now when you will use "Run" or "Open in Browser" the IDE will use URL defined there as a base for constructing full URLs.

Related

Zabbix Run a script to call Exe from my local computer

I have some computers and all have RDP enabled. So Id like to link to create a script to call a command from my local computer, like "C:\Windows\system32\mstsc.exe {HOST.CONN}"
but i dont know how to call a .exe from my own computer.
Is this possible?
how i imagine add rdp option
It's an useful idea, but Zabbix is not quite there yet. You would need to use a URL field, but there is no URL field in the Host, only in the Problem. You also need a Custom protocol handler in chrome (or your favourite browser, almost same procedure).
To add an URL field in the menù you highlighted, you may use TamperMonkey (client side) or fiddle with the zabbix-web source code (server side). I'd use TamperMonkey because editing the source code will not survive a package upgrade.

Create a web browser link that opens a file in Intellij. Possible?

Example, qbittorent can be made to open links that are of torrent files.
Email clients mailto:
Is it possible to create links in a browser that will open the given file in Intellij? (Not full path, but entire package possibly ).
Idea is that this will be created for bitbucket.
There is an open feature request to add idea:// protocol handler.
At the moment it works on macOS only out of the box. For other platforms you can try the third-party solution or other workarounds from the ticket comments.
There is also a built-in web server providing the REST API to open files.
It will work with the relative paths only when the IDE is already running and the project is open: http://localhost:63342/api/file/relative/to/module/root/path/to/file.kt.
With the JetBrains Toolbox App installed one will be able to use jetbrains:// protocol for navigation, it's work in progress and should be available in 2019.2.
See JBProtocolNavigateCommand.kt for the reference:
// handles URLs of the following types:
// jetbrains://idea/navigate/reference?project=IDEA
// [&reference[X]=com.intellij.navigation.JBProtocolNavigateCommand[.perform][#perform]]+
// [&path[X]=com/intellij/openapi/project/impl/JBProtocolNavigateCommand.kt[:23[:1]]]+
// [&selection[X]=25:5-26:6]+
Sample URL:
jetbrains://idea/navigate/reference?project=IDEA&fqn=com.intellij.openapi.application.JetBrainsProtocolHandler#getParameters
Toolbox URL matches regexp:
"${JetBrainsProtocolHandler.PROTOCOL}([\\w\\-]+)/navigate/reference\\?project=(?<project>[\\w]+)(&fqn[\\d]*=(?<fqn>[\\w.\\-#]+))*(&path[\\d]*=(?<path>[\\w-_/\\\\.]+)(:(?<location1>[\\d]+))?(:(?<location2>[\\d]+))?)*(&selection[\\d]*=(?<line1>[\\d]+):(?<column1>[\\d]+)-(?<line2>[\\d]+):(?<column2>[\\d]+))*"
There will be also UI for copying TBX protocol URLs directly from the editor similar to the Copy Reference action in the context menu. The same will work for IDE settings navigation.
As an update to #CrazyCoder's answer
This works* on Mac currently. (unable to test on anything else personally)
* There are some issues:
There is no context menu option for generating this link from clicking on a line of code
The keybinding (see below) generates the incorrect path, and it needs to be modified manually by either changing the sources root temporarily, or typing the missing path parts by hand.
There is a keybinding you can use to generate the url, under Preferences > Keymap > Copy Path/Reference > Toolbox URL. Note that the cursor location when using the keybinding matters. From what I can tell, if the cursor is at the beginning or end of a line, it generates a url with &path=..., else it generates with &fqn=.... The fqn option will often link to the wrong area of the code, especially when interfaces, libraries, auto-wiring, or anything not a direct vanilla class/object/function is attempted to link to.
I have filed an issue with more details on the broken path generated by the keybinding: https://youtrack.jetbrains.com/issue/IDEA-290640

PhpStorm mutualized deployment conflicting server root URL

How to set an absolute project URL, different from the root server URL ?
I look for solutions other than:
Settings: seems out of date (I run PS-181)
leaving server root url empty, tip from Jason Lotito.
The second works for me but the GUI keeps yelling that the server root URL is not specified.
But no longer works if the
Did anyone came with a proper, better solution?
EDIT: How to set the project URL
File
Settings
Build, Execution, Deployment
Deployment
tab Connection: set "web server root URL"
tab Mappings: set "web path on server"
EDIT 2:
So you are sharing the same deployment entry between multiple projects... Why not just make it visible to current project only ... so it become project specific and you enter any data you want without any hacks (as it will have no influence on another project). P.S. The ticket you have mentioned was created long time ago when there were shared entries only. project-specific entries are available for quite few years now... –
I precisely use the same deployment between multiple projects: I have multiple mutualized servers. The only difference between projects of the same server belongs to the "mappings" tab.
Moreover, if I set the Web server root URL to my project domain, I have to hack again the Web path on server ... but putting something (like a /), which is a crappy solution.
Clicking Visible only for this project means that I have to create new deployment for each project (which becomes tedious after 30 copy/paste).
As said in the old ticket, if the Project URL of the mappings tab were an editable text field, all would be much simpler.

Rules for making a clickable link to install an extension in chrome?

I have finished an extension for my company and I want to put it on the company wiki so that in order to get it on everyone's machine all I have to do is go around and click the link.
First, I HAVE READ all the documentation from http://developer.chrome.com/extensions/hosting.html about hosting and autoupdating and all that. Part of it confuses me and I can't find any more information about this:
Google Chrome considers a file to be installable if either of the following is true:
The file has the content type application/x-chrome-extension
The file suffix is .crx and both of the following are true:
The file is not served with the HTTP header X-Content-Type-Options: nosniff
The file is served with one of the following content types:
empty string
"text/plain"
"application/octet-stream"
"unknown/unknown"
"application/unknown"
"*/*"
This looks like it wants a MIME style setup? but I have never done anything with this. I have the ability to change what I want to the Locally hosted Wiki, all I need is to understand what need to change to make the link installable. I will keep looking for examples.
Note: The reason it is not going on the app store is that there is really no reason to. It is branded for our company, and communication with our specific servers is hard-coded into it.
In version 21 (or so), Chrome disabled the ability to do a simple link-click install of off-store extensions. There is a discussion of the change in this bug report:
You are no longer supposed to be able to install extensions off-store in Chrome... In order to install off-store extensions, the user must download them to a directory and drag them onto chrome://extensions/.
There is, therefore, no longer any way to install an extension simply by clicking a link, except by hosting it in the Web Store. You will need to download the file and then drop it into chrome://extensions.
The documentation you reference looks out of date (that's Google's fault, not yours). It definitely fails to mention the new drag-and-drop requirement. It also talks about the file's "content type" and the X-Content-Type-Options HTTP header required to make the CRX installable; however, when you install an extension by dropping it into chrome://extensions, I doubt very much that Chrome remembers what HTTP headers were set when you first downloaded the file.
EDIT: You can also use the --enable-easy-off-store-extension-install command line flag to restore the old instalation behavior.
You can do an "inline install" of an app hosted on the web store. The new changes are forcing people to move our extensions to the web store, but the inline installation should allow your users to not need to leave your page to install.

How to configure Netbeans code entry point when you use mod-rewriting

I am developing a website in PHP and I am using mod-rewrite rules. I want to use the Netbeans Run Configuration (under project properties) to set code entry points that looks like http://project/news or http://project/user/12
It seems Netbeans have a problem with this and needs an entry point to a physical file like http://project/user.php?id=12
Has anyone found a good way to work around this?
I see your question is a bit old, but since it has no answer, I will give you one.
What I did to solve the problem, was to give netbeans what it wants in terms of a valid physical file, but provide my controller (index.php in this case) with the 'data' to act correctly. I pass this data using a query parameter. Using your example of project being the web site domain and user/12 as the URL, use the following in the NetBeans Run Configuration and arguments boxes. netbeans does not need the ? as it inserts that automatically, see the complete url below the input boxes
Project URL: http://project
Index File: index.php *(put your controller name here)*
Arguments: url=user/12
http://project/index.php?url=user/12
Then in your controller (index.php in this example), test for the url query param and if it exists parse it instead of the actual Server Request, as you would do normally.
I also do not want the above URL to be publically accessible. So, by using an IS_DEVELOPER define, which is true only for configured developer IP addresses, I can control who has access that special url.
If you are trying to debug specific pages, alternatively, you can set the NetBeans run configuration to:
http://project/
and debug your project, but you must run through your home page once and since the debugger is now active, just navigate to http://project/user/12 in your browser and NetBeans will debug at that entry point. I found passing through my home page every time a pain, so I use the technique above.
Hopefully that provides enough insight to work with your project. It has worked good for me and if you need more detail, just ask.
EDIT: Also, one can make the Run Configuration Project URL the complete url http://project/user/12 and leave the Index File and Arguments blank and that works too without any special code in controller. (tested in NetBeans 7.1). I think I will start using this method.