Yes, PHP errors are shown at runtime, even when they're just syntax
errors that could have been found out while compiling. That's because no
real compilation happens; RapidEXE works by giving your sources a
separated little environment where they can run and it has the whole PHP
(or Python) compiler built in. So the actual "compilation", which is
really just interpretation by php, happens when you run the
program.
RapidEXE toubleshooting guide
It compiles allright but gives me an error
Some functions are not accessible
It's probably related to PHP extensions. Check the php.ini for the
engine you're using; RapidEXE has a folder called engines and
within that, choose the one your project runs with. If you never changed
it, php.7.2.win64 is the default one. This is where you'll have
to add some DLLs... See the next point:
I want to add more extensions
Adding DLLs are easy, but there are some non-trivial steps to take.
First of all, you need the right DLL for the PHP version you're using.
If it's the same version you use on your machine, just copy it; if not,
download the right version from
the official PHP site.
Note: if you downloaded something and it's not compatible with the engine, a quick fix is to replace the other php files in the engine folder with those you just downloaded.
Once the DLL is there, you need to perform 2 more steps: update php.ini and empty RapidEXE cache. Step 1 is easy - for example, if mb_string is the extension you wanted, just uncomment this line:
Now the next time you compile your project, RapidEXE will pack the engine again (instead of using the cached version) so it will take a second longer or two; but then, everything should work and the next time you compile, it will be fast again (since now the modified version of the engine will be in the cache).
Note: if you downloaded something and it's not compatible with the engine, a quick fix is to replace the other php files in the engine folder with those you just downloaded.
Once the DLL is there, you need to perform 2 more steps: update php.ini and empty RapidEXE cache. Step 1 is easy - for example, if mb_string is the extension you wanted, just uncomment this line:
extension=./php_mbstring.dllNotice the relative path. This is important; extensions will not have this by default. Add it to ensure PHP will look for the extension in its own folder (where php.exe resides), otherwise it will use the path of your default php environment. Once you're done here, you need to force RapidEXE to recompile the engine so you want to empty its cache. Press Win+R to open the "Run" window and enter this path:
%temp%\rapidexeTempClick OK! The RapidEXE temp folder will open, with 3 subfolders in it:
compilerAnd all you have to do is delete them. All 3 of them. Technically compiler and engine should be enough but it's easier to just say Ctrl+A, Del, Yesplease.
engine
script
Now the next time you compile your project, RapidEXE will pack the engine again (instead of using the cached version) so it will take a second longer or two; but then, everything should work and the next time you compile, it will be fast again (since now the modified version of the engine will be in the cache).
anything else?
If you run into any problem with RapidEXE, just write an email to
developer at deneskellner dot com
so I can give you a solution.
If you run into any problem with RapidEXE, just write an email to
developer at deneskellner dot com
so I can give you a solution.