Если код TCP-сервера - закрытый, я бы сделал всё на PHP, а уже через него - управлял бы TCP-сервером. Иначе - полностью все на PHP.
У PHP есть все возможности, чтобы обеспечивать сетевое взаимодействие.
Также, на внешней стороне, если будет Apache, есть mod_proxy, который позволяет перенаправлять запросы на сокеты, подключенные как папка, например: /mysocket
Apache, затем - PHP и дальше, в зависимости от открытости Вашего TCP-сервера: или mod_proxy или все реализовать на PHP.