Skip to content

Instantly share code, notes, and snippets.

View valentinemayaki's full-sized avatar

Valentine Mayaki valentinemayaki

View GitHub Profile
@james2doyle
james2doyle / slim-stream-route.php
Created January 10, 2018 06:05
Create a streaming download of a large file with Slim PHP using the build in Stream class
<?php
use Slim\Http\Request;
use Slim\Http\Response;
use Slim\Http\Stream;
$app->get('/stream', function (Request $request, Response $response, array $args) {
// a 100mb file
$path = '../public/files/document.pdf';
@sh41
sh41 / 01 Create a debug version of the docker image.sh
Last active April 16, 2024 10:08
Debugging segmentation faults in PHP in a docker container.
git clone git@github.com:docker-library/php.git docker-library-php
## Go to the specific version you're interested in
cd docker-library-php/7.1/fpm/alpine
## Edit the .Dockerfile.
## Change
## ENV PHP_EXTRA_CONFIGURE_ARGS --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data
## to
## ENV PHP_EXTRA_CONFIGURE_ARGS --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-debug
## Comment out or delete:
@DHager
DHager / coredump.php
Created December 3, 2015 20:42
Tries to cause a core-dump so that you can test your PHP/Apache/OS configuration to make sure they are being saved
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
ob_end_flush();
$pid = getmypid();
$secs = 10;
$cmd = "kill -3 $pid";
@aminemat
aminemat / xdebug-cli.snippet
Last active June 30, 2025 08:43
enable xdebug in php-cli
export XDEBUG_CONFIG="idekey=PHPSTORM"
export PHP_IDE_CONFIG="serverName=cli"
;in php.ini
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=HOST_IP
xdebug.remote_port=9000
@javigomez
javigomez / selectize-codeception-stepObject.php
Created November 10, 2015 11:25
Select option in Selectize JS library with Selenium and Codeception
/**
* Selects an option in a Chosen Selector based on its label
*
* @return void
*/
public function selectOptionInSelectize($label, $option)
{
$I = $this;
$I->waitForJS("return jQuery(\"label:contains('$label')\");");
$selectID = $I->executeJS("return jQuery(\"label:contains('$label')\").attr(\"for\");");
@oinume
oinume / my.cnf
Created June 15, 2014 12:04
my.cnf
#
# The MySQL database server configuration file.
#
# You can copy this to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
@stefanocudini
stefanocudini / http_post_request.php
Created March 24, 2012 23:43
send http post request and return http headers in array form
<?
//send http post request and return http headers in array form
function http_post_request($url,$pdata,$getHeaders=false)
{
$pdata = is_array($pdata) ? http_build_query($pdata) : $pdata;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url );
curl_setopt($ch, CURLOPT_POSTFIELDS, $pdata);
@num3ric
num3ric / gaussian_elim.py
Created November 11, 2011 05:56
Gaussian elimination using NumPy.
import numpy as np
def GENP(A, b):
'''
Gaussian elimination with no pivoting.
% input: A is an n x n nonsingular matrix
% b is an n x 1 vector
% output: x is the solution of Ax=b.
% post-condition: A and b have been modified.
'''
@bdunogier
bdunogier / curl_progress.php
Created June 16, 2011 22:31
PHP/cURL download progress monitoring
<?php
file_put_contents( 'progress.txt', '' );
$targetFile = fopen( 'testfile.iso', 'w' );
$ch = curl_init( 'http://ftp.free.org/mirrors/releases.ubuntu-fr.org/11.04/ubuntu-11.04-desktop-i386-fr.iso' );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_NOPROGRESS, false );
curl_setopt( $ch, CURLOPT_PROGRESSFUNCTION, 'progressCallback' );
curl_setopt( $ch, CURLOPT_FILE, $targetFile );