It's a symbolic link, which is also indicated by the
l in the first column. This is a common case, where the simple name of something is linked to the "real thing" with an exact version number. All of your scripts and commands can refer simply to
/opt/lampp/bin/phpize. When version 5.5.16 or 5.6 is installed, you just have to change the link (or the installer does that for you).
"Not a directory": as you mentioned, the asterisk indicates that those are executables, not directories. The thing that usually appends an asterisk for executables puts a slash
/ for directories. So
cd is not applicable.
Your problem running an executable in the current directory is a common one. The short version is that if you specify just a name, the shell will search your PATH. It is common and recommended practice that your current directory not be in your PATH. So what everyone does is simply specify the current directory:
Alternatives are to specify the whole path, as I have above. That will of course work no matter what the current directory is. Or you can add this directory to your PATH. If you have lots of directories with just one or two executables you use often, that can get unwieldy. So another use of symbolic links is to create links to these scattered executables (linking to the short no-version name -- links can be nested) and putting all these new links in a single directory that you do add to your PATH. So now when you type just the name, the shell with search the PATH, find the secondary link, which jumps to the primary link, finds the exact executable, and runs it.