pub fn run_script<P: AsRef<Path>>(path: P) -> Result<(), EmbedError> {
        let path = match path.as_ref().to_str() {
            Some(path) => match CString::new(path) {
                Ok(path) => path,
                Err(err) => return Err(EmbedError::InvalidEvalString(err)),
            },
            None => return Err(EmbedError::InvalidPath),
        };

        let mut file_handle = zend_file_handle {
            #[allow(clippy::used_underscore_items)]
            handle: _zend_file_handle__bindgen_ty_1 { fp: null_mut() },
            filename: null_mut(),
            opened_path: null_mut(),
            type_: 0,
            primary_script: false,
            in_list: false,
            buf: null_mut(),
            len: 0,
        };

        unsafe {
            zend_stream_init_filename(&mut file_handle, path.as_ptr());
        }

        let exec_result = try_catch(|| unsafe { php_execute_script(&mut file_handle) });

        match exec_result {
            Err(_) => Err(EmbedError::CatchError),
            Ok(true) => Ok(()),
            Ok(false) => Err(EmbedError::ExecuteScriptError),
        }
    }
Run a php script from a file

This function will only work correctly when used inside the `Embed::run`
function otherwise behavior is unexpected

# Returns

* `Ok(())` - The script was executed successfully

# Errors

* `Err(EmbedError)` - An error occurred during the execution of the
script

# Example

```
use ext_php_rs::embed::Embed;

Embed::run(|| {
let result = Embed::run_script("src/embed/test-script.php");

assert!(result.is_ok());
});
```
src/embed/mod.rs