El código PHP no va a existir en absolutamente ningún momento en el navegador. El servidor es quien procesa en el código PHP y te mandan una web como si el PHP no existiera.
El resultado que mandas al navegador es este:
<body>
<script>
$(document).ready(function() {
var my_variable = 'texto'; // defino la variable
Ejecuta_Ajax();
});
</script>
<script>
$(document).ready(function() {
console.log(my_variable); // va a decirme que no está definida dicha variable.
});
</script>
</body>
Como ya te han comentado y yo mismo te comenté no hace mucho en respuesta a uno de tus temas de forma bastante concreta el uso de var, let, globales y alcances. Al usar var estás definiendo la variable en el contexto de la función "más cercana"(en caso de haberla), no de forma global.
Si quieres definirla de forma global desde dentro de una función lo normal es que la definas explícitamente como propiedad del objeto giobal:
window.my_variable = "texto";
Utilizando librerías palante y ensuciando el alcance global a tutiplen por desconocimiento lo único que vas a conseguir es dolores de cabeza.
Mi consejo cuando programes con PHP y en general es que dejes de utilizar el document ready y en su lugar simplemente coloques todo el código javascript normalmente en un único script en la parte final justo antes de la etiqueta de cierre del body. Dado a como funcionan los parsers no vas a tener problemas porque se procesará el HTML por orden, y como las etiquetas script son HTML, cuando llegues a ellas ya tendrás todo el HTML anterior procesado y listo para manipular.
Cuando tienes todo el codigo al final en un solo script, perfectamente puedes moverlo a un archivo externo como te están aconsejando y a lo que yo me sumo.
Hacer esto tiene muchas ventajas. Como reducir el tamaño total de la web, hacer posibles la implementación de una cuantas medidas de seguridad para evitar multiples exploits, ahorrarte tiempo de portar cambios entre codigo que tengas repetido o incongruencias, facilitar la localización y manejo...
También es viable mover un archivo con funciones puras al head y la implementación/llamadas al body. Es una forma cómoda de separar algunas librerías o posibilitar elementos html custom. Uno de los ejemplos más populares son los templates con las etiquetas script.
He visto que estás acostumbrado a meter muchqs etiquetas script con document.write("ejemplo"). En lugar de hacer esto puedes meter una sola librería para habilitar mustache sintax y así solo necesitas poner {{ ejemplo }} y la librería te lo remplazará. No estoy seguro pero creo que jquery tiene algo así.
En general los frameworks modernos te permiten hacer esto. Te aconsejo vue.js, es el más simple y sencillo. Aunque también tienes librerías independientes muy completas y compactas.