The best thing here, would be to sign the code, using a custom root imported into the server. (Internal PKI is permitted for PCI compliance if the PKI system in question is only used internally)
Preventing someone from modifying the server software if they have physical access is impossible, so what you need to do, is to put the server physically secured such as so 2 persons need to scan their access card at the same time to gain physical access to the server. Preferable, the dual control is handed out to developer (one that writes the code) and deployer (one that deploys the code).
The best here would be to have 2 doors to the server room (in series), wherer the deployer has the access card to the first door, and the developer has the access card to the second door. This means both of them needs to be come together to be able to do physical maintenace on the server.
Then you can have a deployment terminal between these 2 doors, where the server will only accept code from the deployment terminal if its signed by the custom root. Since this deployment terminal is behind the first door, only the deployer have access to this terminal, not the developer.
This means that the developer and deployer does not need to come togheter to install new software on the server, but still, both developer and deployer needs to accept the very same code, but can do so at separate locations.
Note that everyone, even those that do only have partial access to a system that is PCI certified for storage of cardholder information (with partial access, I mean when a access is locked so 2 persons need to come together and autenticate, and the person is only holding one half of whats required to gain access)
needs to be fully vetted, eg you need to request rap sheets from police department, and possibly you even need to check the relatives of the person to be employed, so the person applying for employment don't have a father that previously have robbed a bank. (For example, in sweden, the whole social network is checked when applying for very sensitive employments, and this check is done by "Security Police", in sweden called SÄPO, and you as a applyer only get a yes or no, you don't get to know who in your social contact net that was "untrustworthy", to protect the privacy of these persons, and its even that you are not allowed to been suspected for any crime in the latest 5 years either, even if you never was convicted)
So the requirements are that those persons that do have the possibility to gain access to a PCI enviroment that is certified for storage of cardholder data, MUST be carefully vetted, and if you carefully vet them, you shouldn't have this problem from the very beginning that they go "rogue" and possibly disable any security protection on the server.
The protection outlined in PCI requirements, is there to protect against outside access primarly, eg if someone breaks into the server hall with, lets say a C4, and steals the server, the data should be unreadable.
Thus, preferable any encryption keys should only exist in RAM (where a password, that preferable only exist in 2 parts, one half in the head of the developer, and one half in the head of deployer, must be typed at boot), and any attempt to tamper should be protected with a alarm that will shut down the server before someone comes way too close.