Saturday, November 2, 2013

How to setup Phalcon framework under Windows 8 for PHP 5.5 and Netbeans

Compiling PHP extension

  1. Download and install Microsoft Visual Studio Express 2012. Microsoft removed it from downloads - for the moment you can find it at Softpedia .
  2. Create the folder C:\php-sdk
  3. Unpack the binary-tools archive (php-sdk-binary-tools-20110915.zip) into this directory, there should be one sub-directory called bin and one called script
  4. Open VS2012 x86 Native Tools Command Prompt (it's available from the start menu group)
  5. Execute the following commands:
    cd c:\php-sdk\
    bin\phpsdk_setvars.bat
    bin\phpsdk_buildtree.bat php
    
  6. Create C:\php-sdk\php\vc11 directory and copy content from vc9 one
  7. Extract PHP source code for Windows (you can download it from http://windows.php.net/downloads/releases/) in C:\php-sdk\php\vc11\x86
  8. Download  libraries required to build PHP and extract them in C:\php-sdk\php\vc11\x86\deps
  9. Create directory C:\php-sdk\php\vc11\x86\php\ext\phalcon 
  10. Download Phalcon source from Github
  11. Copy files from Phalcon source build\32bits directory in C:\php-sdk\php\vc11\x86\php\ext\phalcon 
  12. Run following commands:
    cd C:\php-sdk\php\vc11\x86\php
    buildconf
    configure --disable-all --enable-cli --enable-phalcon=shared
    nmake
    
  13. The php_phalcon.dll after the compilation is located in C:\php-sdk\php\vc11\x86\Release_TS\
Note: Above steps are based on https://wiki.php.net/internals/windows/stepbystepbuild and http://internals.phalconphp.com/en/latest/reference/compilation.html . They are for building 32-bit version of extension . Precompiled version for PHP 5.5.5 is here .

Enable Phalcon extension

In php.ini add following:
extension=php_phalcon.dll

Configure code completion for Netbeans

  1. Download Phalcon Developer Tools . How to setup them is described in documentation 
  2. In ide directory there is gen-stubs.php script. You have to point 'CPHALCON_DIR' to where your extracted phalcon source is, then run:
    php ide/gen-stubs.php
    This will create ide subdirectory in which you will find directory with your Phalcon version as name. In latter there is Phalcon subdirectory - copy it in your Netbeans php\phpstubs\phpruntime directory. Now you will have code completion for Phalcon.

Monday, October 21, 2013

Codeception: Phantomjs setup for WebDriver when using self-signed SSL certificate

When using phantomjs as browser for acceptance tests with WebDriver in Codeception - if the targeted site is using self-signed SSL certificate tests will fail. To avoid that - phantomjs must be started with --ignore-ssl-errors=true command line option. Here is an example acceptance.suite.yml configuration:

# Codeception Test Suite Configuration
# suite for acceptance tests.
# perform tests in browser using the Selenium-like tools.
# powered by Mink (http://mink.behat.org).
# (tip: that's what your customer will see).
# (tip: test your ajax and javascript by one of Mink drivers).

# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.

class_name: WebGuy
modules:
    enabled: [WebDriver, WebHelper]
    config:
        WebDriver:
            url: 'https://example.com/'
            browser: phantomjs
            capabilities:
                phantomjs.cli.args: ['--ignore-ssl-errors=true']
Another alternative is to use method from Ghostdriver documentation - Register GhostDriver with a Selenium Grid hub

Thursday, July 18, 2013

First post. Setting up syntax highlighting.

I am using highlightjs. Go to Design->Template->Edit HTML. Add following snippet to the end of head section:

  <head>
        ...
     <link href='http://yandex.st/highlightjs/8.0/styles/sunburst.min.css' rel='stylesheet'/>
     <script src='http://yandex.st/highlightjs/8.0/highlight.min.js'/>
     <script type='text/javascript'>
         hljs.configure({tabReplace: '    '});
         hljs.initHighlightingOnLoad();
     </script>
  </head>
The result:

<?php
  echo 'Hello world!';