You don't need to add a <link> HTML tag (statement) if certain conditions are met for the favicon: name, location, and type. If it's /favicon.ico, that's where browsers look by default.
Favicons work perfectly well with PHP pages. You created the favicon with a specific TYPE -- don't go changing the file extension trying to get it to work. If you saved it as ICON format, use .ico. If you saved it as PNG format, use .png (and you will need a <link> in that case).
Finally, as I said before, if your browser has already visited this site and you change/add the favicon, many browsers won't know to ask for the favicon again and update the local (browser) copy. How to force a (re)read of the favicon varies by browser, but unbookmarking it and clearing the browser cache often works. Sometimes you need to clear the browser history too. If all that fails, the passage of time (a few days to a week) will often solve the problem.