PHP Output in module I am creating a module that is outputting a static php page into my Drupal install. Here is my module file:

&lt;?php

function mymodule_menu() {
$items = array();

$items['live_amplified/hello_world'] = array(
'title' =&gt; 'Live Amplified',
// describe the page for the menu system.  site visitors will not see this
'description' =&gt; 'Simple custom hook_menu() implementation.',
// function that is called when visiting the new path
'page callback' =&gt; 'drupal_get_form',
'page arguments' =&gt; array('static_page_form'),
'access arguments' =&gt; array('access content'),
'type' =&gt; MENU_NORMAL_ITEM,
 );

return $items;
}

/**
* Implements hook_form().
*/
function static_page_form($form, &amp;$form_state) {
// Add CSS and JS
drupal_add_css(drupal_get_path('module', 'mymodule') . '/static_page.css');
// Import your static HTML page
$form['html'] = array(
'#type' =&gt; 'item',
'#markup' =&gt; file_get_contents(drupal_get_path('module', 'mymodule') .'/static_page.php'),
);
return $form;
}


In my static_page.php I have written my HTML, but when I try to add any PHP the browser doesn't recognize it. It doesn't output anything. I have tried just echo test and still nothing.
You don't need to use a form items markup attribute just to print some HTML.
Instead,  change your menu item to a simple page function, not a drupal_get_form eg

$items['live_amplified/hello_world'] = array(
  'title' =&gt; 'Live Amplified',
  'description' =&gt; 'Simple custom hook_menu() implementation.',
  'page callback' =&gt; 'hello_world_page',
  'page arguments' =&gt; array('static_page_form'),
  'access arguments' =&gt; array('access content'),
  'type' =&gt; MENU_NORMAL_ITEM,
);


and add a simple function to return some markup

function hello_world_page() {
  return "Hello World";
}


But as @Adam Balsam described, if you have a lot of content and want to parse another PHP file, you would do it using file_get_contents() but Drupal already has a way of dealing with this that uses it (although it may be convoluted)

You would use hook_theme.

First you need to declare your implementation, this does two things: tells Drupal to look for a template file (the file you want to render) at some location, and it exposes your template to prerocessing for adding variables.

Declare your theme

/**
 * Implements hook_theme().
 */
function mymodule_theme($existing, $type, $theme, $path) {
  return array(
    'helloworld' =&gt; array(
      'template'  =&gt; 'hello-world',
      'path'      =&gt; drupal_get_path('module', 'mymodule') . '/templates',
      'arguments' =&gt; array('node' =&gt; NULL),
    ),
  );
}


Create a preprocess function to give it some variables

function mymodule_preprocess_helloworld(&amp;$vars) {
  $vars['who'] = "World";
}


Create a template file hello-world.tpl.php in /mymodule/templates/ with the content

&lt;h2&gt;Hello &lt;?php print $who; ?&gt; &lt;/h2&gt;


Call it from where ever you like, in this case a menu page.

function hello_world_page() {
  return theme('helloworld');
}


At first it may seem a bit convoluted but it allows you to create templates with variables and exposes theme to themeing so other modules and themes can change both the variables and the markup.