Skip to content

Instantly share code, notes, and snippets.


Elizabeth M Smith auroraeosrose

View GitHub Profile
View IIS or PHP-FCGI is broken
This is only showing up right NOW for me in IIS10 with Fastcgi and PHP 7.2
This is NOT broken in PHP 7.1, so I'd argue this is a regression somewhere
//header('HTTP/1.1 403 Forbidden');
//header('HTTP/1.1 403 Forbidden', true, 403);
Any line but the last gives me a 200 OK response
If you run the header code and then try to set the http_response_code you can't
View Sunshine PHP
PHP Extensions Tutorial
The best way to learn about writing extensions is - to write an
extension! If you want to "code along", you'll need to be set up to
compile PHP 7 extensions, have a checkout of the example code we'll be
using, and have the C library we'll be "wrapping" available on your
All the code we'll be working with is available from
View My conference todo list
1. create a culture of sharing teaching in phpmentoring
a. getting a blog set up
b. teaching the channel to capture and create an issue for each good conversation we get in phpmentoring
c. cultivate getting members to write up these into blog posts
d. cultivating more good discussions in phpmentoring channel
2. Some marketing for phpmentoring
a. the blog on a roll - once a week would be great but my real goal is daily (well not on weekends) posts
b. logo and design done - integrate into the site
c. stickers and possibly other swag for those who attend conferences
d. some community push for "this is what we do and why, come be a part of it"
View gist:e57d237e110a446e64df
Verifying that +auroraeosrose is my blockchain ID.
View datastructures interfaces
use Eos\Datastructures\Immutable;
use Eos\Datastructures\Struct;
class Rectangle extends Struct implements Immutable {
public $x;
public $y;
public $height;
public $width;
View gist:2036d1d675a4bd254450
// Basically a strict object with no methods
class Struct {
public $foo;
public $bar;
$struct = new Struct(['foo' => 'something']); // constructor args would get pushed to properties ???
$struct->foo = 'whatever';
auroraeosrose / gist:d038ec0f9fc82985fe06
Created Feb 26, 2015
Go PHP7(ext) - What we're doing
View gist:d038ec0f9fc82985fe06

A quick snapshot of what is going on with the project - for the tl;dr see "what can I do?"

What is complete

  1. A name- GoPHP7 is a project (not yet really started) to motivate people to migrate to PHP7 when it's released. This echoes the GoPHP5 project of the past
  2. An irc channel - registered on freenode - owner auroraeosrose, ops lornajane, ircmaxell and joepferguson
  3. A set of goals - see

What is in process

  1. Getting "adminy" stuff set up (lornajane is in charge) - This will include website, wikis, twitter, whatever, and other tools
View gist:303dca30e29464a65bd9
PHP7 is coming
And it's breaking all of our extensions
There are currently more changes to the internal apis than there are to things that users will see (and there are enough of those)
In fact not even all the extensions in php source proper are all the way PHP7'd - most of PECL and extensions hosted elsewhere haven't even started! Heck half don't have maintainers!
Extensions are also notorious for poor api design, poor testing, and non-existent docs
But they're also powerful, useful, and fast and more people should use them
PHP7 is coming - fast - and we have a chance to "break" things and to get the community interested and involved
auroraeosrose / gist:b17c03728ccda9162d2b
Created Sep 24, 2014
That pcntl patch I've been sitting on
View gist:b17c03728ccda9162d2b
Index: config.w32
--- config.w32 (revision 0)
+++ config.w32 (revision 0)
@@ -0,0 +1,8 @@
+// $Id: config.w32 264053 2008-08-01 21:20:08Z pajoye $
+// vim:ft=javascript
+ARG_ENABLE("pcntl", "process control support", "no");
View gist:2e90ace602224e00494d
  1. Interfaces for streams wrappers (clean up apis) - primarily userland, small to no BC
  2. Resources -> objects (engine storage and attachment) - primarily core, some BC issues
  3. finish implementations for callbacks - primarily feature addition
  4. async IO features (see: jpauli) - feature addition with core implications and some BC issues
  5. curl:// stream wrapper - feature addition (functionality of --with-curl-wrappers but with curl:// as prefix)
  6. filtering api - buckets hard to use, user_filter class is api possessed - userland and BC
  7. factory registration for wrapper creation - feature addition
  8. ability to plug into transports from php land instead of requiring C extensions

Streams Interfaces: