Archives for the 'PHP' Category
Calling a .NET asmx web service over https from PHP
Enable SOAP by uncommenting “extension=php_soap.dll” in php.ini
https should be included in “Registered PHP Streams” (phpinfo) – uncomment “extension=php_openssl.dll” in php.ini
// SOAP client
$wsdl = ‘https://www.example.com/services/ProductManagement.asmx?wsdl’;
$endpoint = array
(
‘location’ => ‘https://www.example.com/services/ProductManagement.asmx’
);
$soapClient = new SoapClient($wsdl, $endpoint);
// SOAP header
$soapHeaders = array();
$namespace = ‘http://www.example.com/services/ProductManagement’;
$elementName = ‘Authentication’;
$authenticationHeader = array
(
‘Username’ => ‘user9′,
‘Password’ => ‘pass1234′,
);
$soapHeader = new SoapHeader($namespace, $elementName, $authenticationHeader);
$soapHeaders[] = $soapHeader;
$soapClient->__setSoapHeaders($soapHeaders);
// SOAP call
$parameters->productCode […]
Separate Instances of MySQL 4.0 and MySQL 4.1 on Windows
Assuming you already have MySQL 4.0 running on its default port (3306), install MySQL 4.1 and set its service name to MySQL41 and its port to 3307.
The ASP connection string is as follows:
“driver={MYSQL ODBC 3.51 Driver};” & _
“server=localhost;port=3307;” & _
“uid=user1;pwd=a_password;database=db1″
The PHP connection method is as follows:
$c = mysql_connect(”localhost:3307″, “user1″, “a_password”);
mysql_select_db(”db1″, $c);
Apache 2.2 + PHP 5.1.1 on Windows
After adding the following lines to the end of httpd.conf:
LoadModule php5_module “c:/php/php5apache2.dll”
AddType application/x-httpd-php .php
PHPIniDir “C:/php”
You restart Apache and get the following error:
The Apache2.2 service terminated with service-specific error 1 (0×1)
The solution is to download php5apache2.dll-php5.1.x.zip courtesy of Steffen. Overwrite php5apache2.dll in your PHP folder and copy httpd.exe.manifest to your Apache2 bin folder.
PHP 32-bit Left Shift Function
function leftshift32($number, $steps)
{
// convert to binary (string)
$binary = decbin($number);
// left-pad with 0’s if necessary
$binary = str_pad($binary, 32, “0″, STR_PAD_LEFT);
// left shift manually
$binary = $binary . str_repeat(”0″, $steps);
// get the last 32 bits
$binary = substr($binary, strlen($binary) - 32);
// if it’s a negative number return the 2’s complement
// otherwise just return the number
if ($binary{0} == “1″)
{
return -(pow(2, […]
Adventures in 64-bit PHP: 32-bit Left Shift on a 64-bit Machine
My team member was looking for source code that can parse Excel files and found PHP-ExcelReader. It worked fine on her computer, so she ported it to production. After running it for a few times the server became totally unresponsive.
I went over to take a look at the server and the mouse pointer […]