Categories
Fixing Stuff Laravel Samuel

Fixing Cron Job Error on Laravel 5.1 application

Background: We updated to php from 5.2 to 5.6 and our cron job starting firing an error. The steps taken to fix this are:

1.) Verify that argc_argv is set to =”On” in the default server php.ini file.

2.) Modify the cron job command:

original: php /home/username/path-to-laravel/artisan schedule:run >> /dev/null 2>&1

updated: php -d register_argc_argv=On /home/username/path-to-laravel/artisan schedule:run >> /dev/null 2>&1

——Update 11/30/2016——

We had issues with this cron again and the way to fix things was the following:

1.) login to WHM and navigate to MultiphpINI Editor > Editor Mode
2.) Select the current system default version of PHP (if not sure navigate to the Multiphp Manager page and it displays the system default at the top)
3.) On Editor Mode page navigate to Line 654 and set register_argc_argv = On

Save the file and your done.

Useful Testing info:

In this process I needed to figure out how to run an individual command from the laravel scheduler…. since the scheduler was set to only run the command I needed once per day I just wanted to manually run that command. To Do this we open up the actual command file:

app > console > commands and then find the command file you want. Then open the file up and find the “protected name”

command to run on the server:
php artisan 'protected name'. *note include the quotes when you copy this into your SSH terminal.

Categories
Fixing Stuff Laravel

Link to PDF document in laravel 5 blade file

this is a pretty simple issue but just wanted to jot down this note in case anyone out there is trying to link to an image or pdf asset in their laravel blade file and its not working. The process to do this looks like:

a href="{{ asset('/assets/folder-name/filename') }}" target="_blank"> Link Name

so for example if you had a PDF that you wanted to link to it would look like:

a href="{{ asset('/assets/folder-name/file-name.pdf') }}" target="_blank"> File Name

Categories
Laracast Series Notes Samuel

Notes from Laracast PHP series

php -v in gitbash shows version of php installed on the server

php -h shows a bunch of help options

php -S localhost:8888 (this starts a web server, similar to the php artisan server option)

sublime text is cheaper alternative to phpstorm (we might want to look at this once our phpstorm license expires)
atom is another editor Jeff likes and this open source, seems like a very cool program.

Categories
Fixing Stuff Laravel Samuel

Fixing Local Laravel Migration On Wamp 3.0.6

So We ran into an issue today when trying to migrate an old project on a newer version of wamp. The error we kept getting is:


[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1067 Invalid default val
ue for 'created_at' (SQL: create table `marketing_sources` (`id` int unsign
ed not null auto_increment primary key, `name` varchar(100) not null, `note
s` text null, `created_at` timestamp default 0 not null, `updated_at` times
tamp default 0 not null) default character set utf8 collate utf8_unicode_ci
)

This error is caused by mysql not accepting a timestamp of 0 as the default set time. To fix this issue open up:

app > config > local-environment-folder > database.php

Then add the following line:
'strict' => true

*please note if you are using mysql then add this line to the mysql array.

Categories
Code Academy php unit Samuel

PHP Unit 11 advanced Arrays and Maps

lesson 1 Review of Arrays:


$fruits = array ('bananas', 'apples', 'pears');
echo $fruits[1]; /* Your code here! */

Lesson 2 Associative Arrays


// This is an array using integers as the indices...
$myArray = array(2012, 'blue', 5);

// ...and this is an associative array:
$myAssocArray = array('year' => 2012,
'colour' => 'blue',
'doors' => 5);

// This code will output "blue"...
echo $myArray[1];
echo '
';

// ... and this will also output "blue"!
echo $myAssocArray['colour'];

Lesson 3 Using Arrays as Maps


// This is an array using integers as the indices.
// Add 'BMW' as the last element in the array!
$car = array(2012, 'blue', 5, 'BMW');

// This is an associative array.
// Add the make => 'BMW' key/value pair!
$assocCar = array('year' => 2012,
'colour' => 'blue',
'doors' => 5,
'make' => 'BMW');

// This code should output "BMW"...
echo $car[3];
echo '
';

// ...and so should this!
echo $assocCar['make'];

**this lesson errors out when you try to submit it. Add a line after the ‘make’ line, something like ‘make’ => ‘BMW’);+ and hit submit. When it errors out then delete the + after the ; and hit submit again. Seems to be a bug with code academy validation.

Lesson 4 Accessing Associative Arrays


// This is an array using integers as the indices...
$myArray = array(2012, 'blue', 5, 'BMW');

// ...and this is an associative array:
$myAssocArray = array('year' => 2012,
'colour' => 'blue',
'doors' => 5,
'make' => 'BMW');

// This code will output "blue".
echo $myArray[1];
echo '
';

// Add your code here!
echo $myArray[1];
echo $myAssocArray['make'];

Lesson 5 Iterating Over Associative Arrays


$food = array('pizza', 'salad', 'burger');
$salad = array('lettuce' => 'with',
'tomato' => 'without',
'onions' => 'with');

// Looping through an array using "for".
// First, let's get the length of the array!
$length = count($food);

// Remember, arrays in PHP are zero-based:
for ($i = 0; $i < $length; $i++) { echo $food[$i] . '
';
}

echo '

I want my salad:
';

// Loop through an associative array using "foreach":
foreach ($salad as $ingredient=>$include) {
echo $include . ' ' . $ingredient . '
';
}

echo '

';

// Create your own array here and loop
// through it using foreach!

$hockeyTeams = array (
'blues' => 'great',
'hawks' => 'bad',
'wings' => 'worst');

//loop through array using "foreach"
foreach ($hockeyTeams as $team=>$include) {
echo $include . ' ' . $team . '
';

}

Lesson 6 Multidimensional Arrays

$deck = array(array('2 of Diamonds', 2),
array('5 of Diamonds', 5),
array('7 of Diamonds', 7),
array('8 of Hearts', 8));

// Imagine the first chosen card was the 7 of Diamonds.
// This is how we would show the user what they have:
echo 'You have the ' . $deck[2][0] . '!';

Lesson 7 putting it all togather


// On the line below, create your own associative array:
$myArray = array (
'cubs' => 'should hopefully be out soon');

// On the line below, output one of the values to the page:
echo $myArray['cubs'];

// On the line below, loop through the array and output
// *all* of the values to the page:

foreach ($myArray as $baseballTeam=>$list){
echo 'the' . ' ' . $baseballTeam . ' ' . $list;
}

Categories
Code Academy php unit Samuel

PHP Unit 10

Lesson 1:

// Create a Person class here:
class Person {

}

// And create a Person instance called $me here:
$me = new Person();

Lesson 2:

class Person {
public $isAlive = true;

function __construct($name) {
$this->name = $name;
}

public function dance() {
return "I'm dancing!";
}
}

$me = new Person("Shane");
if (is_a($me, "Person")) {
echo "I'm a person, ";
}
if (property_exists($me, "name")) {
echo "I have a name, ";
}
if (method_exists($me, "dance")) {
echo "and I know how to dance!";
}

Lesson 3:

class Shape {
public $hasSides = true;
}

class Square extends Shape {

}

$square = new Square();
// Add your code below!
if (property_exists($square, "hasSides")) {
echo "I have sides!";
}

lesson 4:

class Vehicle {
public function honk() {
return "HONK HONK!";
}
}
// Add your code below!

class Bicycle extends Vehicle {
public function honk() {
return "Beep beep!";
}
}

$bicycle = new Bicycle();
echo $bicycle->honk();

Lesson 5:

class Vehicle {
final public function honk() {
return "HONK HONK!";
}
}
// Add your code below!

class Bicycle extends Vehicle {
public function honk() {
return "Beep beep!";
}
}

$bicycle = new Bicycle();
echo $bicycle->honk();

Lesson 6:

class Person {

}
class Ninja extends Person {
// Add your code here...
const stealth = "MAXIMUM";

}
// ...and here!
echo Ninja::stealth;

lesson 7:

class King {
// Modify the code on line 10...
public static function proclaim() {
echo "A kingly proclamation!";
}
}
// ...and call the method below!
King::proclaim();

Lesson 8:

class Person {
public static function say() {
echo "Here are my thoughts!";
}
}

class Blogger extends Person {
const cats = 50;
static public $cats = "50";
}

Blogger::say();
echo Blogger::$cats;